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