轉載地址:
https://my.oschina.net/inuxor/blog/750717
composer
是 PHP 用來管理依賴(dependency)關系的工具。你可以在自己的項目中聲明所依賴的外部工具庫(libraries),Composer 會幫你安裝這些依賴的庫文件。
如今類似的包管理工具越來越多了,java有marven,js有npm,ruby有gem…… php自然就有composer。
安裝composer
網上能搜到各種裝法,其實僅僅是一點微小的工作,哪有那么麻煩。
-
看這里的官方文檔,那個框里的四行代碼分別執行一遍就齊活了。注意人下邊那個
WARNING: Please do not redistribute the install code. It will change with every version of the installer. Instead, please link to this page or check how to install Composer programmatically.
別直接復制代碼,因為每次新版都有變化。那個鏈接就別管它了,自找麻煩。
-
或者你跟我一樣懶,並且恰好用着debian/deepin/ubuntu等等debian系的linux,大招來了
sudo apt install composer
所以說一定要用linux開發啊, 然而並不是。。。 windows自然有windows的路數:Composer-Setup.exe
切換到朝內源
但凡是包管理,都牽扯源,自動幫你下載包並解決依賴,包從哪下?源。而事情牽扯到我朝,就可能變得有點麻煩,你懂。翻牆?不和諧,幸好有這個項目:Packagist / Composer中國全量鏡像 切換源啊,說出來高大上,很麻煩吧:
-
就這么簡單,沒有然后。如果實在有然后,就是composer的各種操作方式了,那不在本文范圍composer config -g repo.packagist composer https://packagist.phpcomposer.com
安裝thinkphp5
一定要閱讀文檔
composer create-project topthink/think whatever_you_like_name --prefer-dist
完了,安裝tp5到這步就完了
你說composer多好多好,這有什么好?我直接下載程序包扔www根目錄不就行了?比用composer更省事不是嗎 所以說,我們有了composer update這條命令,意思是更新當前項目。
cd whatever_you_like_name composer update
如果一切正常會有類似如下顯示
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Updating topthink/think-installer (v1.0.6 => v1.0.7) Checking out b711e133468c07ebff1cb10f1b2691601dffa257 - Removing topthink/framework (dev-master 7d5e5fb) - Installing topthink/framework (5.0) Downloading: 100%
tp5官方修復了bug,優化了代碼,重構了某個細節,通過composer update就能方便的獲得,前提是你別直接亂改框架本身的東西。
安裝擴展
composer的正式作用是
dependency manager for PHP
就是說你缺啥就用它補啥。比如缺心眼,composer require 心眼
在tp中我們缺啥?看看tp官方給提供了啥標配 助手函數,image操作,驗證碼,單元測試之類的,這哪夠啊。我需要更強大的包,但我不知道叫啥,該上哪找? 這里! 進去搜就行了。 好,搜出來了
riverslei/payment 集成支付寶、微信支付等流行的支付接口,后續會持續跟進中
這個牛掰,怎么裝?所以說看文檔啊。還是在你剛才執行update的那個目錄
composer require riverslei/payment
執行完了,就裝上了。檢查一下你的whatever_you_like_name/composer.json文件,留神到require部分,會類似這樣
"require": { "php": ">=5.4.0", "topthink/framework": "^5.0", "topthink/think-helper": "dev-master", "topthink/think-captcha": "dev-master", "topthink/think-queue": "dev-master", "topthink/think-image": "dev-master", "topthink/think-migration": "dev-master", "kosinix/grafika": "dev-master", "hightman/xunsearch": "*@beta", "riverslei/payment": "~2.0" },
看到riverslei/payment了是吧,那就是剛裝上的。 裝哪了?按慣例,裝在whatever_you_like_name/vendor/目錄下
想深究,自己去看。本文結束。
ThinkPHP5 Smarty 引擎驅動
安裝方法
使用composer安裝模版引擎方法:
- composer require zoujingli/think-smarty
ThinkPHP5 配置文件中template參數
- [
- // 模板引擎類型,指定為'Smarty'
- 'type' => 'Smarty',
- // 模板路徑,默認為當前模塊下的`view`目錄
- 'view_path' => '',
- // 模板后綴
- 'view_suffix' => 'tpl',
- // 模板文件名分隔符
- 'view_depr' => '.',
- // 模板引擎普通標簽開始標記
- 'tpl_begin' => '<{',
- // 模板引擎普通標簽結束標記
- 'tpl_end' => '}>',
- // 標簽庫標簽開始標記
- 'taglib_begin' => '{',
- // 標簽庫標簽結束標記
- 'taglib_end' => '}',
- ],
那么在控制器 index/index::index 中 return view(); 時會加載模板 index/view/index.index.tpl
模板常量定義
- [
- '__ROOT__' => 'http://localhost/service/public',
- '__SELF__' => 'http://localhost/service/public/index.php/index/index.html?id=1&name=3',
- '__APP__' => 'http://localhost/service/public/index.php',
- '__LIB__' => 'http://localhost/service/public/static/plugs',
- '__STATIC__' => 'http://localhost/service/public/static',
- '__UPLOAD__' => 'http://localhost/service/public/static/upload',
- ]
以上變量可以在模板里直接使用,自動替換成對應的路徑。