laravel如何封装函数,实现全局调用。我们就拿PHPAnalysis分词程序作为例子来演示下。PHPAnalysis分词程序使用居于unicode的词库,使用反向匹配模式分词,理论上兼容编码更广泛,并且对utf-8编码尤为方便。
第一步:
定位置,任意文件夹定义目录,这边演示就拿laravel框架的App目录来举例。我在App目录下新建一个文件为MyFunction,名字可以随意起。然后在文件夹下写php文件,编写函数,例如:function.php。
这里因为是拿PHPAnalysis分词程序程序来做演示,那么直接把PHPAnalysis程序包上传到MyFunction文件夹即可。
第二步:
如果需要创建的函数在laravel框架下全局可以调用,那么就需要配置自动加载。在框架的更目录根目录下的composer.json中的autload标签里新加一个files属性,写明函数脚本的路径即可,这里PHPAnalysis分词程序,我们只要需要在找到入口文件,也就是PHPAnalysis程序包根目录下的Analysis.php。
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
],
"files": [
"app/MyFunction/WordAnalysis/Analysis.php" //需要添加的文件,之后任何封装的函数,都可以在此处添加即可
]
},
第三步:
注册文件,这是关键的一个步骤。进入项目的根目录命令行,执行:composer dump-autoload 命令,只要执行成功那么就代表一个封装的函数可以在框架下任何位置进行调用。调用方法就是函数名()。
PHPAnalysis分词函数的调用方法