Ⅰ php典型模塊與項目實戰大全:PHP能做什麼
PHP能做什麼
PHP初學者的一個主要疑問就是 PHP能用來做什麼?按照PHP手冊上的經典解釋就是 PHP能做任何事!
下面為讀者具體的介紹PHP主要的應用領域 PHP是運行於服務端的腳本程序 因此可以用其完成任何CGI(Common Gateway Interface)程序能夠完成的工作 CGI工作流程如圖 所示 CGI主要用於完成在B/S(Browser/Server)模式下的應用開發 例如 動態頁面輸出 獲取表單數據 創建或接收Session/Cookies
圖 CGI工作流程示意圖
PHP主要應用於以下 個領域
服務端腳本
伺服器腳本運行模式需要具備 個條件 PHP解析器(CGI或者伺服器模塊) Web伺服器 Web瀏覽器
具體執行流程 首先運行Web伺服器 然後安裝並配置PHP 最後可以用Web瀏覽器訪問PHP程序的輸出 即瀏覽服務端的PHP頁面(或數據輸出)
命令行腳本
通過命令行模式運行PHP腳本 這種模式下不需要伺服器的支持或者依賴瀏覽器的觸發 在命令行腳本模式下僅需要PHP解析器來執行 通常這種方法被用在Windows和Linux平台下做日常運行腳本使用 如某些守護程序等 當然這些腳本也可以用來處理簡單的文本
編寫桌面應用程序
PHP也許並不完全適合用來做圖形界面應用程序 但是開發人員同樣可以在客戶端程序應用某些PHP的高級特性 通過使用PHP GTK來編寫這些程序 PHP GTK是PHP的一個擴展 並不包含在標準的開發包中 開發人員需要單獨編譯它 通過PHP GTK可以建立獨立的GUI(用戶圖形界面)應用程序 例如 音頻播放器 文本編輯器 資料庫後台等
返回目錄 PHP典型模塊與項目實戰大全
編輯推薦
Java Web開發詳解
PHP Web開發學習實錄
lishixin/Article/program/PHP/201311/21535
Ⅱ php根目錄是什麼
PHP根目錄是指在PHP項目中,所有文件的根文件夾。
PHP根目錄是代碼的核心,所有的文件都在這個目錄下或者是這個目錄的子目錄。
一般來說,根目錄是Web伺服器中與根域名相關聯的目錄。
如果對你有所幫助,就點個贊再走吧~
Ⅲ php和script混編代碼書寫規范
你這個是符合規范的,在伺服器上執行PHP的時候,只看<?php ?>裡面的內容,所以不存在括弧、引號匹配這些問題。
事實上還可能更加復雜,<script>裡面有可能會出現<?php ?>的內容,相反也是有可能的,這個不好徹底避免。
對於較大型的項目,一般的辦法是使用模版,模版裡面主要是html、css、js的內容,php只有一些變數和少量的結構,數據加工和處理的邏輯由單獨的PHP完成,PHP完成所有數據准備後,把模版作為TXT文件讀入,進行一些簡單替換後輸出。這樣能讓兩幫人分別做PHP和頁面。
Ⅳ 什麼是psr-0,psr-1,psr-2標准
轉自:http://www.nginx.cn/2677.html
FIG組織在制定跟PHP相關規范,簡稱PSR,PSR旨在通過討論我們代碼項目的共同點以找出一個協作編程的方法。
什麼是psr0強調自動載入的方式
下文描述了若要使用一個通用的自動載入器(autoloader),你所需要遵守的規范:
規范
一個完全標準的命名空間(namespace)和類(class)的結構是這樣的:\*
每個命名空間(namespace)都必須有一個頂級的空間名(namespace)("組織名(Vendor Name)")。
每個命名空間(namespace)中可以根據需要使用任意數量的子命名空間(sub-namespace)。
從文件系統中載入源文件時,空間名(namespace)中的分隔符將被轉換為 DIRECTORY_SEPARATOR。
類名(class name)中的每個下劃線_都將被轉換為一個DIRECTORY_SEPARATOR。下劃線_在空間名(namespace)中沒有什麼特殊的意義。
完全標準的命名空間(namespace)和類(class)從文件系統載入源文件時將會加上.php後綴。
組織名(vendor name),空間名(namespace),類名(class name)都由大小寫字母組合而成。
示例
\Doctrine\Common\IsolatedClassLoader => /path/to/project/lib/vendor/Doctrine/Common/IsolatedClassLoader.php
\Symfony\Core\Request => /path/to/project/lib/vendor/Symfony/Core/Request.php
\Zend\Acl => /path/to/project/lib/vendor/Zend/Acl.php
\Zend\Mail\Message => /path/to/project/lib/vendor/Zend/Mail/Message.php
空間名(namespace)和類名(class name)中的下劃線
\namespace\package\Class_Name => /path/to/project/lib/vendor/namespace/package/Class/Name.php
\namespace\package_name\Class_Name => /path/to/project/lib/vendor/namespace/package_name/Class/Name.php
以上是我們為實現通用的自動載入而制定的租野最低標准。你可以利用能夠自動載入PHP 5.3類的SplClassLoader來測答型族試你的代碼是否符合這些標准。
實例
下面是一個怎樣利用上述標准來實現自動載入的示例函數。
<?php
function autoload($className)
{
$className = ltrim($className, '\\');
$fileName = '';
$namespace = '';
if ($lastNsPos = strrpos($className, '\\')) {
$namespace = substr($className, 0, $lastNsPos);
$className = substr($className, $lastNsPos + 1);
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
}
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
require $fileName;
}
SplClassLoader實現清弊
下面的gist是一個按照上面建議的標准來自動載入類的SplClassLoader實例。這是依據這些標准來載入PHP 5.3類的推薦方案。
什麼是psr1,定義基本代碼規范
本節我們將會討論一些基本的代碼規范問題,以此作為將來討論更高級別的代碼分享和技術互用的基礎。
RFC 2119中的必須(MUST),不可(MUST NOT),建議(SHOULD),不建議(SHOULD NOT),可以/可能(MAY)等關鍵詞將在本節用來做一些解釋性的描述。
1. 概述
源文件必須只使用 和 這兩種標簽。
源文件中php代碼的編碼格式必須只使用不帶位元組順序標記(BOM)的UTF-8。
一個源文件建議只用來做聲明(類(class),函數(function),常量(constant)等)或者只用來做一些引起副作用的操作(例如:輸出信息,修改.ini配置等),但不建議同時做這兩件事。
命名空間(namespace)和類(class) 必須遵守PSR-0標准。
類名(class name) 必須使用駱駝式(StudlyCaps)寫法 (譯者註:駝峰式(cameCase)的一種變種,後文將直接用StudlyCaps表示)。
類(class)中的常量必須只由大寫字母和下劃線(_)組成。
方法名(method name) 必須使用駝峰式(cameCase)寫法(譯者註:後文將直接用camelCase表示)。
2. 文件
2.1. PHP標簽
PHP代碼必須只使用長標簽()或者短輸出式標簽(<?= ?>);而不可使用其他標簽。
2.2. 字元編碼
PHP代碼的編碼格式必須只使用不帶位元組順序標記(BOM)的UTF-8。
2.3. 副作用
一個源文件建議只用來做聲明(類(class),函數(function),常量(constant)等)或者只用來做一些引起副作用的操作(例如:輸出信息,修改.ini配置等),但不建議同時做這兩件事。
短語副作用(side effects)的意思是 在包含文件時 所執行的邏輯與所聲明的類(class),函數(function),常量(constant)等沒有直接的關系。
副作用(side effects)包含但不局限於:產生輸出,顯式地使用require或include,連接外部服務,修改ini配置,觸發錯誤或異常,修改全局或者靜態變數,讀取或修改文件等等
下面是一個既包含聲明又有副作用的示例文件;即應避免的例子:
<?php
// 副作用:修改了ini配置
ini_set('error_reporting', E_ALL);
// 副作用:載入了文件
include "file.php";
// 副作用:產生了輸出
echo "<html>\n";
// 聲明
function foo()
{
// 函數體
}
下面是一個僅包含聲明的示例文件;即應提倡的例子:
<?php
// 聲明
function foo()
{
// 函數體
}
// 條件式聲明不算做是副作用
if (! function_exists('bar')) {
function bar()
{
// 函數體
}
}
3. 空間名(namespace)和類名(class name)
命名空間(namespace)和類(class)必須遵守 PSR-0.
這意味著一個源文件中只能有一個類(class),並且每個類(class)至少要有一級空間名(namespace):即一個頂級的組織名(vendor name)。
類名(class name) 必須使用StudlyCaps寫法。
PHP5.3之後的代碼必須使用正式的命名空間(namespace) 例子:
<?php
// PHP 5.3 及之後:
namespace Vendor\Model;
class Foo
{
}
PHP5.2.x之前的代碼建議用偽命名空間Vendor_作為類名(class name)的前綴
<?php
// PHP 5.2.x 及之前:
class Vendor_Model_Foo
{
}
4. 類的常量、屬性和方法
術語類(class)指所有的類(class),介面(interface)和特性(trait)
4.1. 常量
類常量必須只由大寫字母和下劃線(_)組成。 例子:
<?php
namespace Vendor\Model;
class Foo
{
const VERSION = '1.0';
const DATE_APPROVED = '2012-06-01';
}
4.2. 屬性
本指南中故意不對$StulyCaps,$camelCase或者$unser_score中的某一種風格作特別推薦,完全由讀者依據個人喜好決定屬性名的命名風格。
但是不管你如何定義屬性名,建議在一個合理的范圍內保持一致。這個范圍可能是組織(vendor)級別的,包(package)級別的,類(class)級別的,或者方法(method)級別的。
4.3. 方法
方法名則必須使用camelCase()風格來聲明。
什麼是PSR2定義代碼風格
代碼風格指南
本手冊是基礎代碼規范(PSR-1)的繼承和擴展。
為了盡可能的提升閱讀其他人代碼時的效率,下面例舉了一系列的通用規則,特別是有關於PHP代碼風格的。
各個成員項目間的共性組成了這組代碼規范。當開發者們在多個項目中合作時,本指南將會成為所有這些項目中共用的一組代碼規范。 因此,本指南的益處不在於這些規則本身,而在於在所有項目中共用這些規則。
RFC 2119中的必須(MUST),不可(MUST NOT),建議(SHOULD),不建議(SHOULD NOT),可以/可能(MAY)等關鍵詞將在本節用來做一些解釋性的描述。
Ⅳ php網站項目如何運行
步驟如下:
1.
安裝php運行環境,如apache/iis、php、mysql等,建議如果是初學者,可以直接下載個wamp軟體包直接將這些都安裝好。
2.
將php網站源碼復制到伺服器的站點目錄下。
3.
如果是資料庫應用,可能你需要先建立資料庫,一般來說,下載過來的網站源碼裡面都會有相關的說明,你根據說明來做就可以了。
到此,你就可以試運行了。
Ⅵ 運用PHP可以做什麼項目啊
運用PHP的話可以做的項目太多了,因為PHP也是屬於後台語言的,而且可以做系統,可以做軟體,也可以做網站的,所以說學習PHP的話可以寫後台服務語言。
計算機俗稱電腦,是一種用於高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數據的現代化智能電子設備。由硬體系統和軟體系統所組成,沒有安裝任何軟體的計算機稱為裸機。
可分為超級計算機、工業控制計算機、網路計算機、個人計算機、嵌入式計算機五類,較先進的計算機有生物計算機、光子計算機、量子計算機、神經網路計算機。蛋白質計算機等。
當今計算機系統的運算速度已達到每秒萬億次,微機也可達每秒幾億次以上,使大量復雜的科學計算問題得以解決。例如:衛星軌道的計算、大型水壩的計算、24小時天氣預報的計算等,過去人工計算需要幾年、幾十年,而現在用計算機只需幾天甚至幾分鍾就可完成。
科學技術的發展特別是尖端科學技術的發展,需要高度精確的計算。計算機控制的導彈之所以能准確地擊中預定的目標,是與計算機的精確計算分不開的。一般計算機可以有十幾位甚至幾十位(二進制)有效數字,計算精度可由千分之幾到百萬分之幾,是任何計算工具所望塵莫及的。
隨著計算機存儲容量的不斷增大,可存儲記憶的信息越來越多。計算機不僅能進行計算,而且能把參加運算的數據、程序以及中間結果和最後結果保存起來,以供用戶隨時調用;還可以對各種信息(如視頻、語言、文字、圖形、圖像、音樂等)通過編碼技術進行算術運算和邏輯運算,甚至進行推理和證明。
計算機內部操作是根據人們事先編好的程序自動控制進行的。用戶根據解題需要,事先設計好運行步驟與程序,計算機十分嚴格地按程序規定的步驟操作,整個過程不需人工干預,自動執行,已達到用戶的預期結果。
超級計算機(supercomputers)通常是指由數百數千甚至更多的處理器(機)組成的、能計算普通PC機和伺服器不能完成的大型復雜課題的計算機。超級計算機是計算機中功能最強、運算速度最快、存儲容量最大的一類計算機,是國家科技發展水平和綜合國力的重要標志。
超級計算機擁有最強的並行計算能力,主要用於科學計算。在氣象、軍事、能源、航天、探礦等領域承擔大規模、高速度的計算任務。
在結構上,雖然超級計算機和伺服器都可能是多處理器系統,二者並無實質區別,但是現代超級計算機較多採用集群系統,更注重浮點運算的性能,可看著是一種專注於科學計算的高性能伺服器,而且價格非常昂貴。
一般的超級計算器耗電量相當大,一秒鍾電費就要上千,超級計算器的CPU至少50核也就是說是家用電腦的10倍左右,處理速度也是相當的快,但是這種CPU是無法購買的,而且價格要上千萬。