很多站长朋友们都不太清楚PHP+extend方法,今天小编就来给大家整理PHP+extend方法,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 thinkphp5 extend扩展库放哪里,该怎么new 2、 thinkphp5.0 如何导入phpexcel插件,能详细些点吗 3、 Think php extend标签干嘛用的?和include有区别么 4、 如何用php获取文件名后缀 thinkphp5 extend扩展库放哪里,该怎么new类库扩展
类库扩展包括基类库扩展、应用类库扩展和第三方类库扩展,所有扩展类库不会自动加载,需要手动加载或者定义别名和配置自动加载(详细可以参考4.2.3类库导入和4.2.5自动加载)。
基类库扩展
目前支持的基类库扩展包括ORG(第三方公共类库包)和Com(企业类库包)。你可以在ORG类库目录下面添加自己需要的类库,你甚至还可以创建属于自己企业的类库,只需要在Extend/Library目录下面创建Com目录,然后在里面增加相应的类库就可以方便的使用import方法导入了。例如,我们在Extend/Library/Com下面创建了Sina目录,并且放了Util\UnitTest.class.php类库文件,可以使用下面的方式导入
import('Com.Sina.Util.UnitTest');
目前官方提供的扩展或者第三方扩展都在ORG类库包下面。
应用类库扩展
项目类库的扩展,和基类库的扩展一样,我们可以在项目类库目录增加你想要的子目录,也只有在项目类库目录下面增加的类库才能使用import方法导入。例如,我们在MyApp的项目类库目录Lib下面增加Common和Util目录,就可以这样加载这些目录下面的类库文件了:
import('MyApp.Util.UnitTest');
import('@.Common.CommonUtil');
第三方类库扩展
如果你直接使用的是第三方的类库包,或者是类名和后缀和ThinkPHP的默认规则不符合的,我们建议你放到第三方类库扩展目录Extend/Vendor目录下面,并使用vendor方法来导入。
例如,我们把Zend的Filter\Dir.php 放到Vendor目录下面,这个时候Dir文件的路径就是
Vendor\Zend\Filter\Dir.php,我们使用vendor方法导入就是:
Vendor('Zend.Filter.Dir');
需要注意的是,vendor方法默认导入的类库后缀是php的而不是class.php的,如果你的第三方类库的后缀是class.php,可以使用:
Vendor('Zend.Filter.Dir','','.class.php');
或者使用:
import('Zend.Filter.Dir',VENDOR_PATH);
通过使用第三方类库扩展,我们可以直接使用Zend、CI或者其他框架中的类库。
thinkphp5.0 如何导入phpexcel插件,能详细些点吗下载phpexcel,将整个文件夹放到vendor文件夹里面,如下图
在控制器中的使用方法
vendor("PHPExcel.PHPExcel");
$objPHPExcel = new \PHPExcel();
$file_name = date('YmdHis').'.xls';
header("Content-Disposition:attachment; filename=".$file_name);
$objActSheet = $objPHPExcel->getActiveSheet()->setTitle('成绩单');
$objActSheet->SetCellValue('A1', 'ID');
$objActSheet->SetCellValue('B1', '名称');
$objActSheet->SetCellValue('C1', '分数');
$list = "";//数据列表
if($list){
foreach ($list as $k => $v){
$i = $k + 2;
$objActSheet->SetCellValue('A'.$i,''. $v['id']);
$objActSheet->SetCellValue('B'.$i,''. $v['name']);
$objActSheet->SetCellValue('C'.$i,''. $v['score']);
}
$objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save('php://output');//输出到浏览器
exit;
}
Think php extend标签干嘛用的?和include有区别么extend标签的用法和include标签一样,你也可以加载其他模板,但是extend是继承其他模板,你可以再重新定义区块的内容,include只能加载其他文件
如何用php获取文件名后缀php获取文件后缀名(format file)
//方法一:
复制代码 代码如下:
<?php
function extend_1( $file_name )
{
$retval = “” ;
$pt = strrpos ( $file_name , “.” );
if ( $pt ) $retval = substr ( $file_name , $pt +1, strlen ( $file_name ) - $pt );
return ( $retval );
}
//方法二
复制代码 代码如下:
function extend_2( $file_name )
{
$extend = pathinfo ( $file_name );
$extend = strtolower ( $extend [ "extension" ]);
return $extend ;
}
//方法三
复制代码 代码如下:
function extend_3( $file_name )
{
$extend = explode ( “.” , $file_name );
$va = count ( $extend )-1;
return $extend [ $va ];
}
//方法四
复制代码 代码如下:
function getFileExt( $file_name )
{
while ( $dot = strpos ( $file_name , “.” ))
{
$file_name = substr ( $file_name , $dot +1);
}
return $file_name ;
}
?>
另外:
PHP pathinfo() 函数
PHP Filesystem 函数
定义和用法
pathinfo() 函数以数组的形式返回文件路径的信息。
语法
pathinfo(path,options)
参数
描述
path
必需。规定要检查的路径。
process_sections
可选。规定要返回的数组元素。默认是 all。
可能的值:
PATHINFO_DIRNAME – 只返回 dirname
PATHINFO_BASENAME – 只返回 basename
PATHINFO_EXTENSION – 只返回 extension
说明
pathinfo() 返回一个关联数组包含有 path 的信息。
包括以下的数组元素:
[dirname]
[basename]
[extension]
提示和注释
注释:如果不是要求取得所有单元,则 pathinfo() 函数返回字符串。
例子
例子 1
复制代码 代码如下:
<?phpprint_r( pathinfo ( “/testweb/test.txt” ));?>
// 输出:
// Array([dirname] => /testweb[basename] => test.txt[extension] => txt)
例子 2
复制代码 代码如下:
<?phpprint_r( pathinfo ( “/testweb/test.txt” ,PATHINFO_BASENAME));?>
// 输出:
// test.txt
关于PHP+extend方法的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于关于PHP+extend方法的信息的详细内容...