jaxon-php / jaxon-cake
Jaxon 库集成于 CakePHP 3 框架
Requires
- cakephp/cakephp: 4.*
- jaxon-php/jaxon-core: ^4.0
This package is auto-updated.
Last update: 2024-09-04 06:25:40 UTC
README
此包将 Jaxon 库 集成到 CakePHP 框架中。
安装
此包的版本 4 需要 CakePHP 版本 4。
使用 Composer
安装此包。
composer require jaxon-php/jaxon-cake ^5.0
或者
{ "require": { "jaxon-php/jaxon-cake": "^5.0", } }
运行 composer install
。
在 src/Application.php
文件中加载 Jaxon 插件。
/** * Load all the application configuration and bootstrap logic. * * @return void */ public function bootstrap(): void { ... // Load more plugins here $this->addPlugin(\Jaxon\Cake\JaxonPlugin::class, ['routes' => true]); }
在 src\View\AppView.php
文件中加载 Jaxon 视图辅助器。
/** * Initialization hook method. * * Use this method to add common initialization code like loading helpers. * * e.g. `$this->loadHelper('Html');` * * @return void */ public function initialize(): void { $this->loadHelper('Jaxon/Cake.Jaxon'); }
路由和中间件
此包提供两个中间件,一个用于加载 Jaxon 配置,另一个用于处理 Jaxon 请求。Jaxon 配置中间件必须附加到所有启用 Jaxon 功能的页面的路由上,而后者必须附加到处理 Jaxon 请求的控制器的操作上。
use Jaxon\Cake\Middleware\ConfigMiddleware as JaxonConfigMiddleware; $routes->scope('/', function (RouteBuilder $builder) { // Register Jaxon middlewares $builder->registerMiddleware('jaxon.config', new JaxonConfigMiddleware()); // Apply the "jaxon.config" middleware to routes to pages that require Jaxon. $builder->applyMiddleware('jaxon.config'); ... });
用法
在 config/jaxon.php
配置文件中的设置分为两个部分。在 lib
部分的选项是 Jaxon 核心库的选项,而在 app
部分的选项是 CakePHP 应用的选项。
以下选项可以在配置文件的 app
部分中定义。
默认情况下,views
数组为空。视图从框架默认位置渲染。在 directories
数组中有一个条目,其值如下。
用法
JavaScript 和 CSS 代码
Jaxon 视图辅助器提供了将 Jaxon JavaScript 和 CSS 代码插入页面的函数。
<!-- The Jaxon CSS code --> <?= $this->Jaxon->css() ?>
<!-- The Jaxon javascript includes --> <?= $this->Jaxon->js() ?>
<!-- The Jaxon javascript code --> <?= $this->Jaxon->script() ?>
Jaxon 类
Jaxon 类可以继承自 \Jaxon\App\CallableClass
。默认情况下,它们位于 CakePHP 应用程序的 ROOT/jaxon/App
目录中,关联的命名空间为 \Jaxon\App
。
以下是一个 Jaxon 类的示例,定义在 ROOT/jaxon/App/HelloWorld.php
文件中。
namespace Jaxon\App; class HelloWorld extends \Jaxon\App\CallableClass { public function sayHello() { $this->response->assign('div2', 'innerHTML', 'Hello World!'); return $this->response; } }
贡献
- 问题跟踪器:github.com/jaxon-php/jaxon-cake/issues
- 源代码:github.com/jaxon-php/jaxon-cake
许可证
此包采用 BSD 许可证。