phalcon 自动加载_php – Phalcon加载助手文件库

我已经创建了一个库,它将加载一个php文件(可能包含用户自定义函数…),你也可以从控制器调用它来自bootstrap.如果文件不存在,它将显示错误消息.我是以现在的方式做的吗?

如果我确实错过任何指出我的事情..谢谢

Helpers是用户可以放置php文件的文件夹

app/

controllers/

models/

helpers/

library/

views/

在“library /”文件夹中一个名为“helperfile.php”的php文件

class helperfile extends Phalcon\Mvc\User\Component

{

var $helper_Folder = '../app/helpers';

var $files = array();

public function __construct()

{

}

public function initialize()

{

}

public function include_file($files, $run = true)

{

if (!is_array($files))

$files = array($files);

foreach ($files as $file)

$this->files[$file] = $file;

if ($run)

$this->load();

}

public function beforeDispatch()

{

$this->load();

}

private function load()

{

if (empty($this->files))

return false;

foreach ($this->files as $file) {

$file = trim($file) . '.php';

if ($this->is_file_exists($file)) {

require $this->helper_Folder . '/' . $file;

}

}

}

private function is_file_exists($path)

{

$full_path = $this->helper_Folder . '/' . $path;

if (!file_exists($full_path)) {

$this->flash->error("Helper File Missing: " . $full_path);

return false;

}

return true;

}

}

//通过引导程序在每个页面上自动加载文件(“public / index.php”)

$di->set('dispatcher', function () {

//Create/Get an EventManager

$eventsManager = new Phalcon\Events\Manager();

/*

* Load Custom function files which are in the helpers folder

*/

$loadHelper = new helperfile();

$loadHelper->include_file([

'calling_from_bootstrap_1',

'calling_from_bootstrap_2'

],false);

$eventsManager->attach('dispatch', $loadHelper);

$dispatcher = new Phalcon\Mvc\Dispatcher();

$dispatcher->setEventsManager($eventsManager);

return $dispatcher;

});

//从控制器加载它

$loadHelper = new helperfile();

$loadHelper->include_file([

'calling_from_theController'

]);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Phalcon一个开放源码的、全堆栈的PHP5框架,使用C扩展编写,专门为高性能优化,无需使用C语言,所有函数都以PHP类的方式。PhalconPHP 3.4.0 更新日志:2018-05-28添加Phalcon\Mvc\Router::attach直接将路由对象添加到路由器#13326中;增加了侦听请求的功能:beforeAuthorizationResolve和request:afterAuthorizationResolve事件,这种能力可以使用自定义授权解析器#13327;在Phalcon\Mvc\Model中添加呼叫事件afterFetch:刷新#12220;添加Phalcon\Http\Response::getReasonPhrase以从状态报头#13314中检索原因词组;添加Phalcon\Loader::setFileCheckingCallback来设置内部文件存在解析器#13360;增加了为Phalcon\Mvc\Collection::aggregate#12302传递聚合选项的功能;添加Phalcon\Crypt::setHashAlgo来设置用于计算消息摘要的散列算法的名称#13379;添加Phalcon\Crypt::getHashAlgo以获得用于计算消息摘要的散列算法的名称#13379;添加Phalcon\Crypt::useSigning来设置是否必须使用计算消息摘要(注意:此功能将在Phalcon4.0.0中默认启用)#13379;添加了Phalcon\Crypt::getAvailableHashAlgos以获得适用于计算消息摘要的注册散列算法列表#13379;添加了Phalcon\Crypt::__构造,现在可以在对象构造中设置密码,并且可以启用计算消息摘要,而无需明确调用setCipher或useSigning#13379;添加了Phalcon\Crypt\Mismatch,在Phalcon\Crypt中抛出的异常将使用这个类#13379;添加Phalcon\Http\Cookie::setSignKey来设置用于生成消息认证代码的符号密钥(例如消息摘要);添加了Phalcon\Http\Response\Cookies::setSignKey来设置用于生成消息认证代码的符号密钥(例如消息摘要);更改了Phalcon\Crypt::setCipher,以便在设置密码算法期间重新配置IV长度;更改了Phalcon\Crypt::setCipher,以便在密码不可用的情况下抛出Phalcon\Crypt\Exception;修复Phalcon\Debug\Dump::output的回归(#13308)以正确使用详细模式#13315;修正Phalcon\Mvc\Model\Query\Builder::having和Phalcon\Mvc\Model\Query\Builder::在哪里正确合并绑定类型#11487;修正Phalcon\Mvc\Model::setSnapshotData以正确设置旧快照;超级全球不存在时不要抛出异常#13252,#13254,#12918。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值