亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP 系列:PHP Web 開發基礎

2020-03-22 20:10:35
字體:
來源:轉載
供稿:網友
  • PHP是動態類型的Web開發的腳本語言,PHP以頁面文件作為加載和運行的單元,PHP現在有了Composer作為開發包管理。

    1.使用Composer管理依賴

    自從.NET開發用了Nuget管理程序集依賴,我就再也離不開它了,幸虧Java中也有Maven管理jar包,雖然開源中國的鏡像太慢但還有ibiblio的鏡像可用,PHP現在終于有了Composer(參考1)用來管理資源包。

    (1)全局安裝(參考2)

    在指定安裝目錄中執行命令行:

    php -r 'readfile('https://getcomposer.org/installer');' | php

    在指定安裝目錄中執行命令行:

    echo @php '%~dp0composer.phar' %*>composer.bat

    將指定安裝目錄添加到html' target='_blank'>環境變量的系統變量Path中。

    (2)項目安裝

    在項目目錄中執行命令行:

    php -r 'readfile('https://getcomposer.org/installer');' | php

    使用 composer.json 文件配置依賴。如配置PHP中常用的日志組件:

    {    'require': {        'monolog/monolog': '1.0.*'    }}

    使用命令行命令 php composer.phar install 安裝依賴的資源包。如果進行了全局安裝,只需要執行composert install。

    這會將生成 composer.lock 文件并依賴下載資源包到 vendor 目錄,composer.lock 文件是下載依賴時真正使用的文件。

    (3)升級依賴

    項目使用 composer.lock 文件維護依賴,如果我們需要使用更新版本的依賴,需要按需修改 composer.json 文件并執行更新命令。全局安裝:composer update,項目安裝使用:php composer.phar update。

    (4)資源包查詢與鏡像

    可以使用http://packagist.org檢索資源包,好比.NET中的https://www.nuget.org/packages/和Java中的http://search.maven.org/。

    可以使用http://packagist.phpcomposer.com鏡像,全局配置使用如下命令行命令:

    composer config -g repo.packagist composer http://packagist.phpcomposer.com

    項目配置使用如下命令行:

    composer config repo.packagist composer http://packagist.phpcomposer.com

    當然最簡單的方式是直接修改composer.config文件:

    {    'require': {        'monolog/monolog': '1.0.*'    },    'repositories': {        'packagist': {            'type': 'composer',            'url': 'http://packagist.phpcomposer.com'        }    }}

    (5)自動加載

    Composert 在 vendor 目錄下自動生成并維護包含了全部依賴信息的 autoload.php 文件。因此我們只需要通過 autoload.php 使用第三方庫即可。例如:

    <?php require 'vendor/autoload.php';$log = new MonologLogger('name');$log->pushHandler(new MonologHandlerStreamHandler('app.log', MonologLogger::WARNING));$log->addWarning('Foo');?>
    2.PHP基礎

    (1)PHP類似C語系語法的腳本語言。

    如果你有C或C++語言的基礎,那么很多概念和語法都可以直接對照。從大小寫敏感到注釋,從數據類型、函數、參數傳遞和成員引用等。從C/C++/Java/C#這一體系學習下來,再加上JavaScript腳本語言的基礎,加點PHP的技能點水到渠成。

    (2)PHP是動態類型語言。

    PHP有和C語言等強類型語言一樣的數據類型定義,支持的類型也相仿,只是PHP中同一變量在不同時刻可以表示不同類型的數據,但同一時刻,每個變量都相當于強類型中的指定類型的變量。因此對于PHP,更適合的稱呼是動態類型。習慣使用Java/C#等強類型語言總會對動態類型的腳本語言心存焦慮,可以通過PHP的類型檢查函數減少這方面的顧慮(is_boolis_integeris_doubleis_stringis_null等)。

    (3)PHP以頁面文件方式運行。

    無論如何使用PHP,PHP的都是以頁面文件方式運行的,這和運行在瀏覽器端的JavaScript方式類似,JavaScript文件只有在被加載到當前頁面才能引用和執行,PHP也只有在通過include或required方式加載后才能引用和執行,即使后續添加的 __autoload和spl_autoload依然只是簡化而非改變了其加載引用的本質。

    (4)PHP不需要復雜的框架

    PHP天生是處理Web請求的,HTTP協議相關的內容是PHP的重點,一般來講,除了縱向請求的處理,橫向的認證和授權控制部分,其他部分不應該過于依賴PHP,如果通過耦合性較高的Web框架使用PHP本身就是錯誤的。由于PHP本身的運行和加載方式,導致PHP天生就適合復用各種組件而非使用框架來解決問題。成天寄希望于框架的人,要么是不想在PHP基礎要么是不想在業務邏輯基礎上下功夫。

    3.PHP常用文件

    (1)配置文件config.php

    應用配置的各種信息定義在一個或多個配置文件中。一般每次請求都會加載配置文件,配置文件中不只包含了數據庫連接信息,如應用MVC時,每次請求都會加載配置文件以便讀取所有URL和Controller以及View之間的規則。

    (2)入口文件index.php

    處理首頁請求或全部請求的文件。index.php在實現PHP的MVC時是天然的前段控制器FrontController,由index.php負責縱向的處理請求轉發,橫向的認證和授權等處理文件,等也需要在index.php中加載。

    (3)數據訪問文件database.php

    database.php是工具類中最主要的用于數據訪問的文件,為了避免數據訪問中重復性出現的代碼,一般的PHP應用程序都會獨立的一個或一組數據訪問文件。

    4.自定義Session

    在PHP中自定義Session比Java中方便多了,只需要將自定義的函數名稱做為參數傳遞給session_set_save_handler($open, $close, $read, $write, $destroy, $gc)作為參數即可,我們自定義一個使用cookie作為存儲的session,作為演示沒有對數據長度進行驗證,也沒有使用對稱加密解密。

    <?phpfunction open_session() {    return true;}function close_session() {    return true;}function read_session($id) {    if ($_COOKIE[$id]) {        return base64_decode($_COOKIE[$id]);    }    return '';}function write_session($sid, $data) {    if ($_COOKIE['session_end']) {        setcookie($sid, base64_encode($data), $_COOKIE['session_end']);    } else {        $start = time() + session_get_cookie_params()['lifetime'];        setcookie('session_end', $start, $start);        setcookie($sid, base64_encode($data), $start);    }    return true;}function destroy_session() {    $_Session = array();    return true;}function gc_session() {    return true;}ini_set('session.cookie_lifetime', '3600');session_set_save_handler('open_session', 'close_session', 'read_session', 'write_session', 'destroy_session', 'gc_session');session_start();$_SESSION['count'] += 1;echo $_SESSION['count'];session_write_close();?>
    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    国产精品日韩欧美大师| 欧美性极品xxxx做受| 国产日韩欧美成人| 亚洲四色影视在线观看| 日韩电影在线观看永久视频免费网站| 久久亚洲电影天堂| 欧美大片va欧美在线播放| 国产精品老女人精品视频| 日韩激情在线视频| 蜜臀久久99精品久久久无需会员| 91亚洲一区精品| 欧美成人一区在线| 国产精品中文字幕在线观看| 日韩欧美大尺度| 91超碰中文字幕久久精品| 久久久久久美女| 国产精品久久久久久搜索| 日本久久久久久久久久久| 亚洲精品99久久久久中文字幕| 国产精品一区二区av影院萌芽| 亚洲精品日韩在线| 免费97视频在线精品国自产拍| 91精品国产九九九久久久亚洲| 国产精品久久久久久久久久新婚| 91九色精品视频| 亚洲**2019国产| 国产精品视频精品| 国产精品福利在线| 91热精品视频| 国产亚洲精品高潮| 久久久久久久久久久网站| 国产午夜一区二区| 136fldh精品导航福利| 国产婷婷成人久久av免费高清| 日韩专区在线播放| 日韩在线欧美在线| 中文国产成人精品| 欧美尺度大的性做爰视频| 高清一区二区三区日本久| 色偷偷偷亚洲综合网另类| 国产精品高潮粉嫩av| 国产综合福利在线| 久久久噜噜噜久噜久久| 亚洲资源在线看| 色777狠狠综合秋免鲁丝| 97久久精品人搡人人玩| 欧美日韩国产123| 久久久久亚洲精品成人网小说| 国产欧美一区二区三区久久| 国产亚洲精品久久| 国产美女久久精品| 一区二区三欧美| 欧美日韩免费网站| 欧洲午夜精品久久久| 久久免费视频网站| 久久亚洲精品网站| 久久av.com| 日本国产一区二区三区| 欧美黑人国产人伦爽爽爽| 色悠久久久久综合先锋影音下载| 91久久国产精品| 国产精品视频地址| 亚洲变态欧美另类捆绑| 九九精品视频在线观看| 91国内揄拍国内精品对白| 成人精品一区二区三区电影免费| 欧美亚洲国产精品| 欧美精品videosex牲欧美| 色一情一乱一区二区| 色妞一区二区三区| 欧美精品在线视频观看| 亚洲欧美日韩中文视频| 三级精品视频久久久久| 欧美激情精品久久久久久黑人| 亚洲人a成www在线影院| 亚洲在线免费视频| 欧美激情视频在线观看| 精品一区二区三区电影| 亚洲在线视频观看| 国产亚洲欧美日韩精品| 国产女人18毛片水18精品| 亚洲精品久久久久久久久久久久久| 日本老师69xxx| 国产精品香蕉在线观看| 国语自产精品视频在免费| 日本一区二区不卡| 国产欧美精品久久久| 九九久久国产精品| 亚洲色图五月天| 最近2019中文字幕在线高清| 久久亚洲春色中文字幕| 久久久国产一区| 国产免费一区二区三区在线能观看| 亚洲在线视频观看| 亚洲视频在线看| 国产精品第一视频| 亚洲一区二区三区四区视频| 欧美成aaa人片免费看| 国产精品福利在线| 亚洲级视频在线观看免费1级| 国产成人aa精品一区在线播放| 国产精品一区二区3区| 欧美一区二区大胆人体摄影专业网站| 欧美美女18p| 日产精品99久久久久久| 久久免费观看视频| 日韩成人在线电影网| 国产成人中文字幕| 成人午夜黄色影院| 欧美综合在线第二页| 91国内产香蕉| 久久久久久久香蕉网| 亚洲天堂av高清| 国产香蕉精品视频一区二区三区| 国产成人精品午夜| 最好看的2019的中文字幕视频| 色妞欧美日韩在线| 日本久久91av| 欧美中文字幕第一页| 精品国产电影一区| 亚洲性生活视频| 亚洲男人av电影| 亚洲大尺度美女在线| 久久久99久久精品女同性| 91午夜理伦私人影院| 在线播放国产精品| 欧美激情免费视频| 在线视频免费一区二区| 欧美限制级电影在线观看| 国产成人精品免高潮在线观看| 色婷婷综合久久久久| 一区二区三区国产在线观看| 日韩欧美国产骚| 国产亚洲精品美女久久久久| 热久久美女精品天天吊色| 亚洲一区二区三区乱码aⅴ| 国产mv久久久| 国产成人精品久久二区二区91| 欧美成人亚洲成人日韩成人| 国产精品入口尤物| 亚洲国产高潮在线观看| 亚洲在线第一页| 国产精品日韩欧美| 国产美女91呻吟求| 亚洲第一福利视频| 精品久久久久久久久久久久久久| 国产成人精品一区| 国产精品网站入口| 中文字幕日韩欧美在线视频| 精品国产精品三级精品av网址| 亚洲日本欧美日韩高观看| 中文字幕久热精品在线视频| 精品国产美女在线| 午夜精品免费视频| 日韩av电影国产| 亚洲精品欧美日韩| 亚洲毛片在线观看| 欧美日韩在线视频首页| 992tv在线成人免费观看| 亚洲第一中文字幕| 亚洲xxxx视频| 日本高清不卡在线| 亚洲福利视频久久| 日韩av电影免费观看高清|