hi

周五咯~~

1、LAMP配置完结篇

五、LAMP配置环境优化

5.4 虚拟主机工作原理

apache的虚拟主机。virtual-host

用不同的域名访问不同的目录——手动模拟dns

修改host文件即可实现。具体就是主机地址 域名

复习

liang@liang-andy:~$ sudo apt-get install apache2

liang@liang-andy:~$ sudo apt-get install php5
然后加载/检查php5.load这个php实现对apache2操作的模块(LAMP的互相,就是模块的启动/连接)
liang@liang-andy:~$ cat /etc/apache2/mods-enabled/php5.load
liang@liang-andy:~$ sudo apt-get install mysql-server

sudo apt-get install apache2 php5 mysql-server php5-mysql

liang@liang-andy:~$ sudo service mysql restart
liang@liang-andy:~$ sudo service apache2 restart

----创建phpinfo探针

先装vim

sudo apt-get install vim

再切换到php的www文件夹,用cd命令

cd /var/www/html(14.4版本)

然后在这里创建一个php文件

sudo vim info.php

写php代码

<?php
echo mysql_connect('localhost','root','hanhan123') ? 'Hoho' : 'WTF';

phpinfo();
然后esc键,输入:wq保存退出

http://192.168.1.100/info.php 浏览器输入验证结果

复习结束

5.5 安装phpmyadmin

--

apt-get命令

sudo apt-get install phpmyadmin

sudo ln -s /usr/share/phpmyadmin/ /var/www/pma

 六、服务器集群了解

国内外有很多著名的巨型服务器集群。

用于同时处理大批量的请求

-----------------------------------

2、PHP的OOP编程

四、OOP的高级实践

程序准备

<?php
date_default_timezone_set("PRC");
/**
* 1. 类的定义以class关键字开始,后面跟着这个类的名称。类的名称命名通常每个单词的第一个字母大写。
* 2. 定义类的属性
* 3. 定义类的方法
* 4. 实例化类的对象
* 5. 使用对象的属性和方法
*/
class NbaPlayer
{
// 类的属性的定义
public $name="Jordan";// 定义属性
public $height="198cm";
public $weight="98kg";
public $team="Bull";
public $playerNumber="23";

// 类的方法的定义
public function run() {
echo "Running\n";
}

public function jump(){
echo "Jumping\n";
}
public function dribble(){
echo "Dribbling\n";
}
public function shoot(){
echo "Shooting\n";
}
public function dunk(){
echo "Dunking\n";
}
public function pass(){
echo "Passing\n";
}
}

/**
* 1. 类实例化为对象时使用new关键字,new之后紧跟类的名称和一对括号。
* 2. 使用对象可以像使用其他值一样进行赋值操作
*/
$jordan = new NbaPlayer();
// 访问对象的属性使用的语法是->符号,后面跟着属性的名称
echo $jordan->name."\n";
// 调用对象的某个方法使用的语法是->符号,后面跟着方法的名称和一对括号
$jordan->run();
$jordan->pass();

?>

 4.1 继承

也就是对象相似的部分,可以多处使用——避免代码冗余,开发效率提高。

优点:父类中定义的了,子类中无需再次定义——效率高;对于外部,表现一致(父类是一样的);重写,来修改子类。

举个栗子

class Human{
public $name;
public $height;
public $weight;

public function eat($food){
echo $this->name."'s eating".$food."\n";
}
}

人类作为父类,然后nba球员作为子类

class NbaPlayer extends Human{

试着直接通过子类调用父类中的function

$jordan->eat("apple");

输出

Jordan's eating apple

没有问题!子类是可以直接调用父类的属性和方法的!!(在子类的对象上可以直接访问父类中定义的方法和属性)

毕竟从它的意思来看,子类就是父类的延伸。

另外,父类中的属性可以在子类中进行访问(实际上,简单的理解就是,所有的子类都是大于等于父类的对象,想象一下文氏图)

类的继承,用extends,只能跟一个“爸爸”——php的单继承原则

4.2 访问控制

所有的属性和方法都有访问权限的选择——选择可以被谁访问

public:公有,任何地方

protected:受保护的,被自身以及其子类

private:私有,只能被自身访问

举个private的栗子

在Nbaplayer这个子类中,新增加定义

private $age="44";

public function getAge(){
echo $this->name."'s age is ".$this->age;
}

//试着调用private,直接以及通过内部的public函数
//$jordan->age;
$jordan->getAge();

然后,关于protected,范围紧紧的限制在了父类中和子类中,也就是说,出了子类的定义那个大括号就失效了!

4.3 静态成员

可以简单的理解为常量(?)

static

bu xiang xie le

周五了啦啦啦啦-LAMP+PHP‘s OOP的更多相关文章

  1. Linux安装LAMP开发环境及配置文件管理

    Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...

  2. Web应用之LAMP源码环境部署

    一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...

  3. 【笔记】LAMP 环境无脑安装配置 Centos 6.3

    p.p1 { margin: 0.0px 0.0px 5.0px 0.0px; font: 12.0px Times; color: #ff2500 } p.p2 { margin: 0.0px 0. ...

  4. LAMP坏境和LNMP环境安装Nagios4.1.1和基本配置

    ----------------------------------------以下内容为笔者生产环境的监控,安装都是经过一步步测试的-------------------------------- ...

  5. 1-web应用之LAMP源码环境搭建

    目录 一.LAMP环境的介绍     1.LAMP环境的重要性     2.LAMP组件介绍 二.Apache源码安装     1.下载Apache以及相关依赖包     2.安装Apache以及相关 ...

  6. CentOS7 配置LAMP

    这两天要带新同事.没办法,只有现学现卖,又回到Linux的怀抱了.今晚想配置一下LAMP环境,但是之前用的6.6,今晚想闷声做大死,用一次7试试.网上找了很多教程,但是好像转载的都不负责任,有些到下一 ...

  7. Ubuntu 16.04 LAMP server 指南 - 配置 Apache2.4,PHP7,和MariaDB(而不是MySQL)

    翻译自:https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-16-04-lamp/ 昨天在虚 ...

  8. LAMP(1) 在VirtualBox里安装Ubuntu Server

    问题0.虚拟机中安装lamp环境 问题解决: 来自百度经验 问题1. 用putty远程登陆linux系统,显示network error connection refused 问题解决 问题2. my ...

  9. ubuntu10.04编译安装LAMP

    ubuntu10.04编译安装LAMP以及简单wordpress的使用 : http://linuxme.blog.51cto.com/1850814/971631 一.源码安装LAMP 网上有一堆关 ...

随机推荐

  1. jbox演示30种不同的调用方法

     在线预览 插件说明 - jbox 是一款基于 jQuery 的多功能对话框插件,能够实现网站的整体风格效果,给用户一个新的视觉享受. 运行环境 - 兼容 IE6+.Firefox.Chrome.Sa ...

  2. [js开源组件开发]ajax分页组件

    ajax分页组件 我以平均每一周出一个开源的js组件为目标行动着,虽然每个组件并不是很庞大,它只完成某一个较小部分的工作,但相信,只要有付出,总会得到回报的.这个组件主要完成分页的工作. 这张图里显示 ...

  3. 【iScroll源码学习03】iScroll事件机制与滚动条的实现

    前言 想不到又到周末了,周末的时间要抓紧学习才行,前几天我们学习了iScroll几点基础知识: 1. [iScroll源码学习02]分解iScroll三个核心事件点 2. [iScroll源码学习01 ...

  4. DOM事件探秘

    说到DOM事件,就不得不说以下几点: 1 事件流 事件流:描述的是从页面中接受事件的顺序 事件流分为事件冒泡流和事件捕获流.那么什么是事件冒泡,什么是事件捕获呢? 事件冒泡:即事件最开始由最具体的元素 ...

  5. CXF:通过WebService上传文件,包括大文件的处理

    参考网上文章,用CXF发布上传文件接口,并上传大文件的测试. 框架:spring3.1+cxf2.7.6 1.定义文件类实体 import javax.activation.DataHandler; ...

  6. DirectX标准规定 DirectX和OpenGL的不同

    DirectX标准规定 DirectX使用左手坐标系. X轴正向指向右,Y轴正向指向上,Z轴正向垂直纸面向内. 编写Direct3D应用程序时,通常只使用4×4的矩阵和1×4的行向量,相乘时行向量在前 ...

  7. android编译系统的makefile文件Android.mk写法

    Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件.由于一般情况下Android.mk和需要编译的源文件在同一目录下,宏函数“my-dir”右编译系统提供的,用于返回当前路径 ...

  8. iOS学习19之OC类的扩展

    为一个类扩展功能:1.子类化:2.修改源代码:3.定义协议:4.Category:类目 1.Category 1> Category的作用 Category:也叫分类,类目,是为没有源代码的类扩 ...

  9. MyEclipse、Eclipse优化设置

    第一步: 取消自动validation validation有一堆,什么xml.jsp.jsf.js等等,我们没有必要全部都去自动校验一下,只是需要的时候才会手工校验一下! 取消方法: windows ...

  10. 重启 IIS7 应用程序池的批处理

    批处理很简单:c:\windows\system32\inetsrv\AppCmd.exe stop apppool /apppool.name:"ASP.NET v4.0"c:\ ...