phillaf / gtw_require
CakePHP 的 Require.js 插件
Requires
- php: >=5.3.0
- composer/installers: *
This package is not auto-updated.
Last update: 2024-09-23 15:15:34 UTC
README
此模块通过 Require helper 简化了 Requirejs 的使用。
- 可以从视图或视图块中添加模块。
- 定义自己的配置文件,根据需要加载模块。
- 基于操作/控制器名称自动加载模块的可能性。
安装
将此插件复制到名为 app/Plugin/GtwRequire
的文件夹中,或将以下行添加到您的 composer.json
文件中
{
"require": {
"phillaf/gtw_require": "*@dev"
}
}
通过运行 Console/cake symlink
或以下命令从该插件的 webroot 创建到应用 webroot 的符号链接
# On windows
mklink /J app\webroot\GtwRequire app\Plugin\GtwRequire\webroot
# On linux
ln -s app/Plugin/GtwRequire/webroot app/webroot/GtwRequire
通过在 app/Config/bootstrap.php
中添加以下行来加载插件
CakePlugin::load('GtwRequire');
将 Require helper 添加到您的 AppController.php 中
public $helpers = array(
'Require' => array('className' => 'GtwRequire.GtwRequire'),
);
包含 JavaScript
创建一个符合 requirejs 规范的配置文件。您可以在 这里 找到更详细的示例。
// app/webroot/js/config.js
requirejs.config({
baseUrl: 'js/lib',
paths: {
app: '../app',
basepath: '/GtwRequire/js/basepath' //application base path
}
});
使用 req 函数从您的视图、视图块和元素中加载模块。
<?php echo $this->Require->req('my/module'); ?>
在布局文件的底部加载主要的 requirejs 模块。参数是您的配置文件路径。
<?php echo $this->Require->load('/js/config');?>
req()
函数只能在 load()
之前调用。然而,在某些情况下(例如 AJAX 视图),您可能需要动态添加模块。为此,您可以使用
<?php echo $this->Require->ajax_req('my/module');?>
路径特定的包含
如果您想自动加载特定操作或控制器文件,您可以创建一个类似于 Views 中使用的文件夹结构。
├── lib
│ └── library1.js
│ └── library2.js
├── app
│ └── homemade1.js
│ └── homemade2.js
├── base
│ ├── Example /* folder containing ExampleController.php actions */
│ │ ├── someaction.js
│ │ ├── otheraction.js
│ ├── base.js
│ ├── ExampleController.js
│ ├── AnotherController.js
└── require.js
要启用自动加载,请在您的 load()
调用上方调用以下函数。第一个参数是您的文件夹结构的基准路径,第二个参数是默认文件的名称。
<?php echo $this->Require->basemodule('basePath', 'baseModuleName');?>
应用基准路径
有时您需要从 JavaScript 中调用控制器和操作。为了保持您的 .js 模块在子域名托管网站上功能正常,使用 basepath
为您的调用添加前缀。下面是如何使用模块利用这个的示例:--
require(['jquery','basepath'], function ($, basepath) {
$('.something').click(function(){
$.get( basepath+ "plugin_name/controller_name/action_name/", function(data){
// do things
});
});
});
版权和许可证
作者:Philippe Lafrance
版权 2013 Gintonic Web
根据 Apache 2.0 许可证 许可