PHP語言

不言
不言原創
2018-04-13 10:57:356252瀏覽

這篇文章跟大家分享的內容是關於PHP的語言,有著一定的參考價值,有需要的朋友可以參考一下


1.PHP的設計原則


a)單一職責原則

b)里氏替換原則

c)依賴倒置原則

d)開放封閉原則

e)介面隔離原則

2.PHP的開發模式

a)單例模式  b)工廠模式  c)觀察者模式  d)策略模式

1)單例模式顧名思義,就是只有一個實例。作為物件的建立模式, 單例模式確保某一個類別只有一個實例,並且自行實例化並向整個系統提供這個實例。

單例模式的要點有三個:
一是某個類別只能有一個實例;二是它必須自行建立這個實例;三是它必須自行向整個系統提供這個實例
典型的代表如框架中的基底類別物件
2)簡單工廠模式
①抽象基底類別:類別中定義抽象化一些方法,用以在子類別中實作
②繼承自抽象基底類別的子類別:實作基底類別中的抽象方法
③工廠類別:用以實例化所有相對應的子類別
這種我們使用最常見,基本上所有的MVC框架中都是這樣產生的。

3.PHP運作原理

a)讀取php.ini的設定檔  b)啟動一個php  c)讀取index.php檔  d)編譯Zend Engine(目前php的引擎只有zend)  e)opcode(中間碼) OPcache //一種快取方式  f)產生對應的http所需要的格式  g)回收並關閉進程

4.PHP和JAVA有什麼差別

a)Php是弱類語言,Java是強類  b)Java相對於Php更安全些  c)Php的庫函數使用C編寫的,Java核心運行的庫是Java編寫的

5.PHP開發崗位中,最高等級是什麼?

a)Php愛好者  b)Php初學者  c)Php初級程式設計師  d)Php中級程式設計師  e)Php高級程式設計師f )Php工程師

6.PHP5.6與PHP7.0的區別?

a)Php7.0不在支援mysqli擴充

b)Php7.0比Php5. 6性能提升了兩倍,全面一致的支援64位元

c)以前的許多致命錯誤,現在改成拋出異常

7.404?500?302?301? 400?501?200?

404:頁面找不到

500:內部伺服器錯誤

302:暫時重定向

301:永久重定向

400:伺服器不理解請求的語法

501:伺服器不具備完成請求的功能

200:成功處理了請求

8.PHP在儲存session以什麼形式存在?

    PHP為session的存儲提供了三種方式: 文件/ 內存/ 自定義存儲,默認是使用文件存儲.在訪問量大的網站上採用這種方式就不太合適,因為這樣會導致大量的輸入輸出的冗餘.我們可以在php.ini更改配置文件或者php腳本中通過相應的函數來設置session文件的存儲類型來改變session檔案的儲存形式

9.PHP的變數類型

四種標量類型:
1)boolean (布林型):這是最簡單的類型,只有兩種取值,可以為TRUE/true 或FALSE/false ,不區分大小寫。詳細請參閱:PHP布林類型(boolean)
2)integer (整型):在32 位元作業系統中它的有效範圍是:-2 147 483 648~ 2 147 483 647。整數值可以使用十進制,十六進位或八進位表示,前面可以加上可選的符號(- 或 )。八進位表示數字前必須加上 0(零),十六進位表示數字前必須加上 0x。
3)float (浮點型, 也稱為double)
4)string (字串):字符型變數不同於其他程式語言有字符與字串之分,在PHP 中,統一使用字符型變數來定義字元或字串。
兩種複合類型:
5)array (陣列):陣列型變數是比較特殊的變數類型,將在後續章節中詳細說明。
6)object (物件):物件也是一種特殊的資料型別。若要建立object變量,請使用 new 關鍵字。詳細請查看:PHP物件類型(object)
最後是兩種特殊類型:
7)resource(資源):來源是一種特殊變量,保存了到外部資源的一個參考。資源是透過專門的函數來建立和使用的。詳情請查看:PHP資源類型(resource)
8)NULL(NULL):表示變數沒有值。 NULL 類型唯一可能的值是NULL

10.PHP版本差異

PHP5.2 以前:autoload, PDO 和MySQLi, 類型約束  、JSON 支援
PHP5.3 :棄用的功能,匿名函數,新增魔術方法,命名空間,後期靜態綁定Heredoc 和Nowdoc, const, 三元運算符,Phar
PHP5.4:Short Open Tag, 陣列簡寫形式,Traits,內建Web 伺服器,細節修改
PHP5.5:yield, list() 用於foreach, 細節修改
PHP5.6: 常數增強,可變函數參數,命名空間增強

#
11.PHP 的垃圾收集機制是怎樣的

1)PHP作為腳本語言是頁面結束即釋放變數所佔記憶體的。
2)當一個 PHP執行緒結束時,目前佔用的所有記憶體空間都會被銷毀,目前程式中所有物件同時被銷毀。
3)GC程序一般都跟著每起一個SESSION而開始運行的.gc目的是為了在session檔過期以後自動銷毀刪除這些檔.
4)在PHP中,沒有任何變數指向這個物件時,這個對象就變成垃圾。 PHP會將其在記憶體中銷毀;這是PHP 的GC垃圾處理機制,  防止記憶體溢出。
5)執行這些函數也可以起到回收作用__destruct /unset/mysql_close /fclose php對session有明確的gc處理時間設定session.gc_maxlifetime 如果說有垃圾,

# 6)那就是整體的程式在框架使用中,會多次呼叫相同檔案等等造成的非單件模式等。所以出來的時候,必要的用_once 引用,在聲明類別的時候使用單件模式。還有簡化邏輯等等

12.PHP特性

特性:PHP的特性包括:

1. PHP 獨特的語法混合了C、Java、 Perl 以及PHP 自創新的語法。
2. PHP可以比CGI或Perl更快的執行動態網頁-動態頁面方面,與其他的程式語言相比, PHP是將程式嵌入到HTML文件中去執行,執行效率比完全產生htmL標記的CGI要高許多;
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。
3. PHP支援幾乎所有流行的資料庫以及作業系統。

4. 最重要的是PHP可以用C、C 進行程式的擴充!

13.為什麼使用php

PHP 可在不同的平台上運行(Windows、Linux、Unix、Mac OS X 等)
PHP 與目前幾乎所有的正在使用的伺服器相容(Apache、IIS 等)
PHP 提供了廣泛的資料庫支援
PHP 是免費的,可從官方的PHP 資源下載它: www.php.net
PHP 易於學習,並可有效率地運行在伺服器端





#########################

以上是PHP語言的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn