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