PHP語法
php基本語法
isset函數(shù)
如果
var存在并且值不是 NULL 則返回 TRUE,否則返回 FALSE。// 如果想檢測 NULL 鍵值,可以試試下邊的方法。
var_dump(array_key_exists('hello', $a)); // TRUEPHP面向?qū)ο?/p>
1. 類 2. 對象 3. 調(diào)用成員方法 4. 構(gòu)造函數(shù) 5. 析構(gòu)函數(shù) 6. 繼承 7. 方法重寫(覆蓋) 8. 訪問控制 9. 接口 10. 常量 11. 抽象類 12. static關(guān)鍵字 13. Final關(guān)鍵字 14. 調(diào)用父類構(gòu)造方法 15. 1. instanceof 用于確定一個 PHP 變量是否屬于某一類 class 的實例: var_dump($a instanceof MyClass); 2. Http請求使用Guzzle 中文文檔:http://guzzle-cn.readthedocs.io/zh_CN/latest/quickstart.html魔術(shù)變量
數(shù)組
參考文獻:https://codeday.me/bug/20170713/40936.html
<?php $list = ['a' => 'gaolong', 'b' => 'xiaoming']; $list[] = 1; $list['myKey'] = 2; $list[42] = 3; 速記: $arr[] shorthand for array_push. foreach結(jié)構(gòu) echo $ string1,$ string2,$ string3; 數(shù)組連接 with '+' elseif的存在 變量嵌入字符串,$ name =’Jack’; echo“Hello $ name”;?
PHP超級全局變量
$GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSIONphp表單驗證
1. PHP表單 2. PHP表單實例 3. PHP$_GET 變量和$_POST 變量traits與代碼復(fù)用
參考:https://segmentfault.com/a/1190000008009455
<?php require 'common/traits/Param.php'; echo '哈哈哈,測試而已'; class Publish { use \common\traits\Param; public function doPublish() { echo 'dopublish'; } } $publish = new Publish(); $publish->doPublish(); # 如果沒有使用autoload則必須require # trait需要在類中使用 # use 必須使用命名空間over
PHP高級教程
最新&最近的PHP文檔:https://www.kancloud.cn/thinkphp/php-the-right-way/3126
內(nèi)置web服務(wù)器
$ php -S localhost:8000 $ php -S localhost:8084 /Users/gl/index.php #指定文件多維數(shù)據(jù)
日期
include與require &
__autoload自動加載 & 命名空間文件的加載和命名空間是兩回事。不使用命名空間一樣可以實現(xiàn)自動加載。
關(guān)于自動加載可以看下:inclue require include是引入文件,命名空間是封裝,對類分類 <?php namespace Test; const CONNECT_OK = 1; class Connection { } function connect() { echo "哈哈,我是"; } ?> 使用命名空間 <?php namespace MyTest; include 'test.php'; use Test; const FOO = 2; Test\connect(); // phpinfo();文件
MySQL數(shù)據(jù)庫
1. PHP之道:https://www.kancloud.cn/thinkphp/php-the-right-way/3175 2. 廢棄使用所有mysql_接口,必須使用PDO 3.PDO案例 <?php // PDO + MySQL $pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password'); $statement = $pdo->query("SELECT some_field FROM some_table"); $row = $statement->fetch(PDO::FETCH_ASSOC); echo htmlentities($row['some_field']); 4. 這種方式耦合度非常高,必須使用MVC框架實現(xiàn)。 <?php $db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password'); // Make your model available include 'models/FooModel.php'; // Create an instance $fooModel = new FooModel($db); // Get the list of Foos $fooList = $fooModel->getAllFoos(); // Show the view include 'views/foo-list.php'; models/FooModel.php <?php class FooModel { protected $db; public function __construct(PDO $db) { $this->db = $db; } public function getAllFoos() { return $this->db->query('SELECT * FROM table'); } } view <?php foreach ($fooList as $row): ?> <?= $row['field1'] ?> - <?= $row['field1'] ?> <?php endforeach ?>?
GuzzleHttp框架
1. 使用composer require GuzzleHttp 2. 使用autoload方式導(dǎo)入該框架。 犯了一個錯誤,發(fā)現(xiàn)autoload index文件和vendor文件不在同一級別目錄下,以至于沒有找到第三方庫文件。報錯。 3. composer文件會自動生成GuzzleHttp第三方庫代碼。 4. 按照github上的調(diào)用方式即可調(diào)用該http庫?
Yii框架
Yii框架實戰(zhàn)
啟動項目
啟動xxx.com 項目,必須 1. 啟動nginx 使用sudo nginx。nginx有配置文件。reload 重啟。 2. 啟動php,php切換到PHP7 使用php-version7.1.4 3. 啟動Yii。cd到項目目錄,然后 執(zhí)行 ./init 4. 如果沒有配置nginx,必須配置nginx server。 然后到瀏覽器啟動 api或者admin 5. 啟動api項目時,先要配置main-local,配置數(shù)據(jù)庫db和redis 6. 啟動api項目報錯,導(dǎo)致必須重新啟動。入門
配合數(shù)據(jù)庫工作
參考文獻:https://blog.csdn.net/u013508912/article/details/70766459
?
接收用戶數(shù)據(jù)
顯示數(shù)據(jù)
緩存