日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

現在寫 PHP,你應該知道這些

瀏覽:135日期:2022-09-12 14:15:38

首先你應該是在用 PHP 5.3 以上的版本,如果 PHP 版本在這之下,是時候該升級了。我建議如果有條件,最好使用最新的版本。

你應該看過 PHP The Right Way,這篇文章包含了很多內容,而且還能再擴展開。大部分的名詞和概念你都需要了解。

現在寫 PHP,你應該知道這些

 1. PSR

The idea behind the group is for project representatives to talk about the commonalities between our projects and find ways we can work together.

在之前的文章中以及跟同事交流的過程中我多次提到過 PSR(PHP Standard Recommendation)。很多人以為 PSR 只是做一些規范代碼風格等無關痛癢的事情,但其實遠不止此。

PSR 的一系列標準文檔由 php-fig (PHP Framework Interop Group)起草和投票決議,投票成員中有一些主流框架和擴展的作者,包括 Laravel、Symfony、Yii等等。

按照其官網的說法,這個組織的目的并不是告訴你你應該怎么做,只是一些主流的框架之間相互協商和約定。但是我相信這些框架和擴展中總會有你用到的。

PSR 目前通過的共有 6 份文檔:

0:自動加載(主要是針對 PHP 5.3 以前沒有命名空間的版本)1:編碼規范2:編碼風格推薦3:Log 結果4:自動加載更細(在出現命名空間后有很大的改變)7:HTTP 消息接口

目前在起草(Draft)中的還有 PSR-5(PHPDoc Standard)、PSR-6(Cache)等。5 和 6 沒有出現在以上的列表中,是因為還沒有投票通過。

我相信隨著標準的不斷更新,你會發現研究這些約定對你也是很有裨益的,雖然未必什么都要遵守。

Nobody in the group wants to tell you, as a programmer, how to build your application.

 2. Composer

Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.

composer 和 Pear、Pecl 都不同,它不僅僅是用于安裝擴展,更重要的是定義了一種現代 PHP 框架的實現和擴展管理的方法。類似 node.js 的 npm、Python 的 pip 但又比以上做的更多。

composer 的核心是實現擴展的標準安裝和類的自動加載。通過 packagist.org 這個平臺,無數的擴展組件可以被很方便的引入,目前比較知名的 PHP 擴展都可以通過 composer 安裝了。而調用僅僅只需要加載一個 autoload.php 的文件即可。

composer 是通過 spl_autoload_register 方法注冊一個自動加載方法實現擴展類和文件的加載的,當然這中間 composer 也做了一個優化。

我們都知道 PHP 引入文件要通過 include 和 require 實現,這其實寫起來并不好看。 PHP 5.3 提供了命名空間,這本來和文件引入也不相干。但是 composer 實現了 PSR-4(在老版本的 PHP 上是 PSR-0),使用 use 時通過調用 spl_autoload_register 實現的方法在調用時加載所需要的類,在寫法上類似 Python 的 import,即美觀也起到了按需加載、延遲加載的作用。

 3. php-cs-fixer

The PHP Coding Standards Fixer tool fixes most issues in your code when you want to follow the PHP coding standards as defined in the PSR-1 and PSR-2 documents.

這個工具的作用是按照 PSR-1 和 PSR-2 的規范格式化你的代碼,還有一些可選的編碼風格是 Symfony 的規范。

這個其實本來并沒有那么值得一說,只是最近在幾個開源框架中都看到了 .php_cs 的文件,一時好奇,深究下去才發現了這個項目。

項目地址:https://github.com/FriendsOfPHP/PHP-CS-Fixer

具體的使用和配置方法在其項目主頁上都有介紹。這個組織的名字也很有趣:FriendsOfPHP。主要的成員大概是來自 Symfony 項目中。

可能有人覺得糾結代碼風格的問題其實沒有特別大的必要。要說好處我也說不上來,如果你覺得編程不僅僅是一份工作,那這就跟你收拾房間一樣,邋遢的房間不影響你吃飯睡覺,但干凈的看起來更舒服。如果要和別人合作,那這件事情就更重要了。

 4. PsySH

A runtime developer console, interactive debugger and REPL for PHP.

PsySH 類似 Python 的 IDLE 的一個 PHP 的交互運行環境。這個是我在 Laravel 中發現的,Laravel 5 的 artisan tinker 的功能是通過它來實現的。Laravel 4 中用的是另外一個項目:boris。

這個主要是在平時測試一些 php 的簡單的函數和特性的時候可以方便使用。遇到一些不確定的事情、比如 empty 的使用等,可以用它來做些測試。

 5. 一些框架和組件框架

我比較喜歡的是 Laravel,目前公司在用的是 Yii2,我關注的有 Symfony 以及 Phalcon (C語言實現)。用什么不用什么,主要是喜好,有時候也由不得自己選擇,但研究一下,多一分了解也未嘗不可。

提到 Laravel 很多人都會立馬想到 Ruby on Rails。我想模仿或者抄襲這都不是主要的目的,主要的目的是提供給開發者一個更好的工具。Laravel 好在它有一個不一樣的路由控制(不帶 Action 后綴或前綴的),有一個好用的 ORM (Eloquent),好用的模板引擎 (Blade) 亦或有一個顏值比較高的文檔(社區看到的話)等等。

強大有時候也會被人詬病龐大,但這在于你需要了解自己項目的中長期規劃,項目現在的大小以及未來的大小及承載。

Larval 的核心實現是一個容器(Container)以及 PHP 的反射類(ReflectionClass)(Yii 2 也是一樣)。要理解這些,多看文章和文檔的同時,也可以看看源碼。

Symfony 2 提供了很多組件。http-kernel 和 http-foundation 在 Laravel 中也有被繼承過來直接使用。它是值得了解和學習的。

CodeIgniter 是一個小巧而強大的框架。雖然 CI 并沒有使用 Composer 組件的方式進行開發,但 3.0 以后的版本也加入了 Composer 的支持(這無非就是多一個 vendor 的目錄,引入 autoload.php)的文件。

ORM

ORM 亦或 Active Record 我覺得還是需要的。也許有人認為 PHP 就是一個模板引擎、就應該手寫 SQL 。不要被這些話所困擾。

CodeIgniter 中 Active Record 的實現方式很輕巧,但對于 CI 本身的體量來說,已經是很好用的了。

Laravel 實現的 Eloquent 我是很喜歡的,也可以集成到別的項目中去。Symfony 2 使用的是 Doctrine ,這個項目也值得關注。Yii 2 也有自己的一套實現方式。

模板引擎

模板引擎需要做三件事情:

變量值的輸出(echo),條件判斷和循環(if ... else、for、foreach、while)引入或繼承自其他文件

Laravel 實現的 Blade 是一個比較輕量好用的模板引擎。不過目前并不是很好能夠引入到其他框架中。十一的時候閑來無事試圖將其引入到 Yii 2 中,現在還只是簡單的實現,我希望后面能將 Blade 的解析部分單獨抽取出來做一個輕量的實現。在 Github 上搜一下發現也有人在做同樣的事情。

Yii 2 似乎更推薦就用原生的 PHP 去寫,不過也提供了支持 Smarty 和 Twig 的擴展。Symfony 2 則采用了 Twig。Twig 和 Symfony 以及上文提到的 php-cd-fixer 都是 SensioLabs 的作品。

Smarty 是一個古老而頑強的模板引擎。說實話我并不是太喜歡,其語法過于復雜,變量賦值這些事情都有自己的一套做法。現在的版本中更是使用 Lexer 的方式來解析文件,感覺像是用 PHP 實現了另外一種語言。項目里面還有一些太長的正則表達式、太復雜的實現,我覺得這是一件很危險很容易出錯的事情。

標簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
成人免费网站www网站高清| 国产99久久| 日韩av资源网| 91精品二区| 国产模特精品视频久久久久| 婷婷亚洲综合| 美女精品在线| 婷婷五月色综合香五月| 视频一区在线播放| 日本91福利区| 国产精品videosex极品| 国产一区二区三区日韩精品| 免费福利视频一区二区三区| 亚洲韩日在线| 日产欧产美韩系列久久99| 日本视频一区二区| 91日韩欧美| 蜜桃久久久久久| 日韩一区二区三区四区五区| 国产精品毛片视频| 欧美成a人免费观看久久| 国产精品社区| 国产激情精品一区二区三区| 九九色在线视频| 蜜臀91精品一区二区三区| 免费一级欧美片在线观看网站 | 日本久久一区| 黄色在线观看www| 最新亚洲一区| 免费看久久久| 欧美日韩四区| 超级白嫩亚洲国产第一| 亚洲一区二区三区四区电影| 91综合视频| 国产情侣久久| 综合亚洲色图| 一本一道久久a久久精品蜜桃| 国产精品一区二区精品| 欧美91福利在线观看| 欧美日韩一区二区三区四区在线观看 | 亚洲一区二区日韩| 日韩伦理福利| 国产免费av国片精品草莓男男| 久久久9色精品国产一区二区三区| 亚洲不卡视频| 国产一区二区精品| 日韩毛片在线| 91日韩欧美| 国产精品亚洲综合久久| 婷婷综合社区| 欧美色图一区| 久久免费国产| 成人美女视频| 欧美激情国产在线| 国产一区二区亚洲| 国产精品扒开腿做爽爽爽软件| 亚洲精品护士| 日本不卡一区二区三区| 午夜精品福利影院| 九九久久婷婷| 亚洲黄色中文字幕| 日韩精品中文字幕第1页| 久久99国产精品视频| 日韩精品中文字幕一区二区| 热久久国产精品| 免费国产亚洲视频| 欧美伊人影院| 综合亚洲自拍| 国产精品极品在线观看| 麻豆视频在线看| 久久国产精品亚洲77777| 91九色综合| 福利一区和二区| 免费看黄色91| 97精品国产一区二区三区| 国产在线日韩| 欧美一区不卡| 中文字幕一区二区三区在线视频| 日韩在线观看一区二区三区| 美腿丝袜亚洲三区| 三级欧美在线一区| 久久精品国产网站| 亚洲一区欧美激情| 麻豆极品一区二区三区| 欧美日韩国产免费观看视频| 日韩av不卡一区二区| 亚洲国内欧美| 国产成人精品亚洲日本在线观看| 久久人人97超碰国产公开结果| 日韩av网站在线观看| 激情久久五月| 欧美国产日本| 亚洲精品高潮| 开心激情综合| 偷拍欧美精品| 精品国产欧美| 久久av免费| 国产精品网址| 国产麻豆精品久久| 蜜桃一区二区三区在线观看| 自拍日韩欧美| 午夜在线视频观看日韩17c| 日韩精品国产精品| 1000部精品久久久久久久久| 国产精品欧美大片| 丝袜美腿一区二区三区| 日韩伦理一区| 国产精品自拍区| 亚洲青青久久| 视频福利一区| 国产高清精品二区| 视频一区视频二区中文| 日韩久久视频| 狂野欧美性猛交xxxx| 国产日产精品_国产精品毛片| 国产精品美女久久久| 成人羞羞在线观看网站| 美女在线视频一区| 国产精品一区二区三区av麻| 亚洲精品伊人| 亚洲天堂日韩在线| 精品91久久久久| 女人av一区| 欧美日韩国产在线一区| 精品深夜福利视频| 精品国产一区二区三区噜噜噜| 国产三级精品三级在线观看国产| 中文字幕一区二区三区日韩精品| 一区在线观看| 亚洲伊人精品酒店| 视频在线在亚洲| 日本在线观看不卡视频| 亚洲一区二区三区中文字幕在线观看| 男女男精品视频网| 中文字幕一区日韩精品| 一区二区不卡| 国产亚洲久久| 97久久中文字幕| 欧美91在线|欧美| 日本99精品| 日本欧美国产| 91精品一区国产高清在线gif | 99日韩精品| 欧美一区在线观看视频| 国产专区精品| 国产综合精品| 亚洲va久久久噜噜噜久久| 国产精品视频一区二区三区四蜜臂| 你懂的亚洲视频| 欧美91福利在线观看| 日韩高清不卡在线| 红杏一区二区三区| 国产一区日韩欧美| 亚洲天堂日韩在线| 国产va免费精品观看精品视频| 激情婷婷欧美| 日韩av一二三| 久久天堂av| 日韩精品一区二区三区中文字幕| 精品91福利视频| 久久国产精品亚洲77777| 欧美精品国产一区| 999久久久91| 日韩高清成人在线| 欧美中文一区二区| 欧美激情福利| 蜜桃免费网站一区二区三区| 麻豆久久一区二区| 尤物在线精品| 国产一区精品福利| 免费成人在线视频观看| 久久男人天堂| 日韩在线观看一区二区三区| 亚洲成av在线| 久久精品系列| 日本欧美一区二区在线观看| 国产精品试看| 国产韩日影视精品| 日韩久久视频| 精品久久视频| 久久精品人人| 国产精品亚洲四区在线观看 | 国产一区二区三区网| 欧美欧美黄在线二区| 一区二区日韩免费看| 在线精品视频在线观看高清| 久久婷婷久久| 久久国产毛片| 久久久成人网| 亚洲精品一级二级| 久久男人av资源站| 亚洲国产福利| 超碰在线99| 日韩综合一区| 人人精品亚洲| 激情综合网站| 99视频精品全国免费| 欧美日韩水蜜桃| 日韩在线卡一卡二| 日韩欧美四区|