PHP工程师接单,PHP接单

前言

ThinkPhp5问世已近一年,然而仍然有很多的坑,然后不由得想起Laravel的好了。当然TP5仍然需要时间去做得更好。今天要说的确是ThinkPhp3。thinkphp3是个成熟的框架。java有maven,php有packagist,然而packagist里的库于thinkphp3确是水土不服,我想这就是thinkphp5的诞生契机之一吧。我是个懒人,有现成的库可以使用,我觉得没必要再去写,不然公共库的意义就不大了至于为什么会水土不服,大概就是autoload的方式不一样,关于这点且不深究。

干货进入composer库,查找关键字phpspreadsheet,找到该库在github上的地址,然后down下来

phpjiedan

解压到本地,找到目录下面的src下面的phpspreadsheet文件夹

phpjiedan

先看一眼这个文件夹下随便一个php文件的namespace

phpjiedan

再在Thinkphp的框架目录下面Library/Vendorc创建PhpOffice文件夹,然后将down下来的库里xxx/src/目录下的PhpSpreadsheet文件夹整个copy到PhpOffice文件夹下

最后只需要修改copy过来文件的后缀就可以了。下面是脚本public function change_suffix(){

$basepath = realpath(THINK_PATH)."\\";

$path = 'Library\\Vendor\\PhpOffice';

$all = array();

$this->getFileInDir($basepath.$path,$all);

foreach ($all as $one){

if(strpos($one, 'class') === false){

$new_name = str_replace('.php', '.class.php', $one);

rename($one, $new_name);

}

}

}

private function getFileInDir($dir,&$all){

if(is_dir($dir)){

$ss = scandir($dir);

unset($ss[1]);

unset($ss[0]);

foreach ($ss as $s){

$sdir = $dir.'\\'.$s;

if(is_dir($sdir) && $s != 'Default'){

$this->getFileInDir($sdir,$all);

}else{

$all[] = $sdir;

}

}

}

}

最后在config.php文件里面加上'AUTOLOAD_NAMESPACE' => array(

'PhpOffice' => THINK_PATH.'Library/Vendor/PhpOffice',

),

你就可以用$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();这种方式来new库里的实例

以上方法并不是对所有的packagist里面的库都适用,各位需随机应变呐查看原文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值