原创 static 後期靜態綁定

靜態綁定: static::不再被解析爲定義當前方法所在的類,而是在實際運行時計算的. 核心:self和parent取決於它的解析上下文,而static取決於它的調用上下文 現在來看一個例子: <?php class A

原创 php字符串函數總結 -未完

提示:很多字符串函數都有start 和 length這兩個參數,當這兩個參數爲正數時,比較好理解,但當爲負數時,則容易出錯。 0代表左邊第一個字符。 -1代表右邊第一個字符 start爲-x時代表從

原创 PSR_0語法基礎框架

規範: 1. 命名空間必須與絕對路徑一致。 2. 類名首字母必須大寫。 3. 除入口文件外,其他”.php”文件必須是一個類。 實例代碼結構: t3.php: <?php namespace m1\m2; cla

原创 設計模式三大基礎模式之工廠模式,單例模式,註冊樹模式

工廠模式: 1.簡單工廠模式 主要角色:抽象類、實現類、工廠類 具體實現 專門定義一個類來負責創建其它類的實例,被創建的實例通常都具有共同的父類。 abstract class Transportation { pro

原创 php中的cookie和session

Cookie 注意:Cookie是HTTP標頭的一部分,因此setCookie()函數必須在其他信息被輸出到瀏覽器前調用,所以即使是空格或空行,都不要在調用setCookie()函數之前輸出 1. cookie的設置有兩種方式:

原创 php正則表達式及其函數

正則表達式基礎 1. ‘^’和 $’ 表示用來匹配字符串的開始和結束。(^有兩種用法,下一種,見下面) “^mtg”: 匹配以 “mtg”開頭的字符串; “mtg$”: 匹配以 “mtg” 結尾的字符串; “^mtg$”:

原创 裝飾器模式

定義:裝飾器模式可以動態的添加修改類的功能 初始的一個類,無任何修飾,只簡單的輸出helloworld <? class HelloWorld { protected $output="HelloWorld";

原创 php設計模式之觀察者模式

原理: 這一模式允許某個類觀察另一個類的狀態,當被觀察的類狀態發生改變的時候,觀察類可以收到通知並且做出相應的動作,通常情況下,一個觀察者類負責觀察被觀察者中的一個事件 使用場景: 用戶註冊(驗證郵件,用戶信息激活),購物網站下單

原创 php spl之迭代器iterator

1.ArrayIterator迭代器 常用方法: ksort:根據鍵進行排序 asort:根據值進行排序 seek:將interator裏的第一個元素從0開始標記,依次遞增,seek是指跳到指定標記 循環時的方法包括curr

原创 本地apache服務器配置域名

首先找到apache\conf\下的httpd.conf,修改兩處 先找到 <Directory /> AllowOverride none Require all denied </Directory> 將

原创 linux定時執行php腳本

由於Cron 是Linux的內置服務,但它不自動起來,可以用以下的方法啓動、關閉這個服務: /sbin/service crond start //啓動服務 /sbin/service crond stop //關閉服務

原创 thinkphp使用阿里大魚短信接口

1.首先登陸阿里大魚註冊賬號,可獲得60元的代金券,然後創建應用,應用的類型爲阿里大魚。創建完後下載sdk,將下載後的sdk導入到ThinkPHP\Org下。 2.創建控制器用來調用短信接口,代碼爲下: <?php namespa

原创 php標準庫spl之鏈表,堆棧,隊列

雙向鏈表類:SplDoublyLinkedList 1. 增刪節點的方法 push:向鏈表的尾部插入一個節點 pop:獲取鏈表中的尾部節點,並且從鏈表中刪除這個節點;操作不改變當前指針的位置 unshift:向鏈表的頭部插入

原创 php設計模式之策略模式

1.定義:將一組特定的行爲和算法封裝成類,以適應某些特定的上下文環境,稱爲策略模式 2. 使用策略模式可以實現ioc(控制反轉),降低依賴注入 3. 如下面這個例子,如果不使用策略類,那麼我們會使用if else或者swit

原创 php設計模式之原型模式

實現方式: 原型模式是先創建好一個原型對象,然後通過clone原型對象來創建新的對象。 何時使用: 原型模式適用於大對象的創建。創建一個大對象需要需要很大的開銷,如果每次new就會消耗很大,原型模式僅需內存拷貝即可,這樣就免去了類