日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

从零开始使用composer开发php项目解决各种包调用

發(fā)布時(shí)間:2024/3/12 php 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从零开始使用composer开发php项目解决各种包调用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

寫(xiě)在前面

以前做php開(kāi)發(fā)都是些比較簡(jiǎn)單的單頁(yè)面實(shí)現(xiàn)小功能,偶爾也用到點(diǎn)別人造好的輪子,直接require一下就能搞起來(lái)了,結(jié)果最近做的個(gè)小需求從GitHub上clone了別人的一個(gè)輪子后發(fā)現(xiàn)都是composer寫(xiě)的自動(dòng)調(diào)用,手工require就不可能了,于是還是認(rèn)真突擊補(bǔ)習(xí)一下composer的用法吧,下面開(kāi)始記錄一下使用composer下載安裝最常用的smarty模板引擎以及一個(gè)處理數(shù)學(xué)公式計(jì)算的解析引擎的具體流程.

環(huán)境準(zhǔn)備

win下面做開(kāi)發(fā)有時(shí)候真的好難受,以前pip安裝包的時(shí)候就經(jīng)常出現(xiàn)各種詭異的失敗,現(xiàn)在用composer也是一堆坑,最方便的還是直接上Linux吧,虛機(jī)裝了個(gè)MajaroLinux,基于ArchLinux的開(kāi)箱即用發(fā)行版,裝的是xfce桌面版,系統(tǒng)裝好了直接一條命令就把composer搞定了

$ sudo pacman -S composer $ composer config -g repo.packagist composer https://packagist.phpcomposer.com //更換使用國(guó)內(nèi)的鏡像源,速度快

然后就是一鍵安裝xampp全家桶,這里省略過(guò)程了,配置好httpd.conf里面的網(wǎng)站文檔位置,我放在了/www,下面開(kāi)始使用composer安裝需要引用的包

$ cd /www $ composer require smarty/smarty $ composer require mossadal/math-parser //這個(gè)是解析數(shù)學(xué)公式的一個(gè)引擎,回頭再單獨(dú)介紹

執(zhí)行完安裝后會(huì)在當(dāng)前路徑下生成以下文件:

[lpwm@lpwm-vm www]$ tree -L 2 . ├── composer.json ├── composer.lock └── vendor├── autoload.php├── composer├── mossadal└── smarty4 directories, 3 files

這里主要需要注意的是vendor/autoload.php這個(gè)文件,項(xiàng)目后面入口文件中需要用到的就是它,直接require一下就把所有依賴都解決了,這當(dāng)然也就是使用composer的方便之處了

開(kāi)始擼代碼

環(huán)境準(zhǔn)備好了,就要開(kāi)始正式擼代碼的環(huán)節(jié)了,首先是需要手工造一個(gè)index.php入口文件,在這里調(diào)用smarty模板引擎渲染首頁(yè)

造好的文件結(jié)構(gòu)如下:

[lpwm@lpwm-vm www]$ tree -L 2 . ├── cache //smarty模板的緩存文件夾,手工創(chuàng)建,配置chmod 777權(quán)限 │?? └── templates_c //smarty模板的緩存文件夾,手工創(chuàng)建,配置chmod 777權(quán)限 ├── composer.json ├── composer.lock ├── index.php //入口文件,手工創(chuàng)建 ├── vendor │?? ├── autoload.php │?? ├── composer │?? ├── mossadal │?? └── smarty └── views //smarty模板存放文件夾,手工創(chuàng)建└── index.html //首頁(yè)模板文件,手工創(chuàng)建7 directories, 5 files

index.php

<?php define('SITE_ROOT', str_replace('\\', '/', __DIR__)); require './vendor/autoload.php'; //-----劃重點(diǎn)----- 這里require單個(gè)autoload.php文件就可以解決所有包依賴$smarty = new \Smarty; $smarty->left_delimiter = "{{"; //解決和js沖突的問(wèn)題 $smarty->right_delimiter = "}}";$smarty->setTemplateDir(SITE_ROOT . '/views/'); $smarty->setCompileDir(SITE_ROOT . '/cache/templates_c/'); $smarty->setCacheDir(SITE_ROOT . '/cache/');$smarty->assign('title','This is my first Composer Project!'); $smarty->display('index.html'); ?>

views/index.html

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title> </head> <body><h1>{{$title}}</h1> </body> </html>

主要的流程就是這樣了,啟動(dòng)xampp,開(kāi)瀏覽器瞅一下,Perfect!

總結(jié)

以上是生活随笔為你收集整理的从零开始使用composer开发php项目解决各种包调用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。