jaxon-php/jaxon-laravel

Laravel框架的Jaxon库集成

v4.1.0 2024-01-26 04:35 UTC

README

此软件包将Jaxon库集成到Laravel框架中。它适用于Laravel 7或更高版本。

安装

composer.json文件中添加以下行,并运行composer update命令。

"require": {
    "jaxon-php/jaxon-laravel": "^5.0"
}

发布软件包配置。

php artisan vendor:publish --tag=config

路由和中间件

该库自动注册了两个中间件,分别是jaxon.config和'jaxon.ajax'。

jaxon.config中间件必须添加到需要显示Jaxon相关内容的页面路由中。

Route::get('/', [DemoController::class, 'index'])->name('demo')->middleware(['web', 'jaxon.config']);

还可以通过在config/jaxon.php文件中添加routemiddlewares选项来配置其路由和相关中间件的注册。

    'app' => [
        'request' => [
            'route' => 'jaxon',
            'middlewares' => ['web'],
        ],
    ],

配置

jaxon.php配置文件中的设置分为两个部分。位于lib部分的选项是Jaxon核心库的选项,而位于app部分的选项是Laravel应用的选项。

可以在配置文件的app部分定义以下选项。

默认情况下,views数组为空。视图从框架默认位置渲染。在directories数组中有一个条目,其值如下。

route选项被Jaxon库的core.request.uri选项覆盖。

使用方法

使用Jaxon软件包提供的Blade函数,在需要显示Jaxon相关内容的页面中插入Jaxon的js和css代码。

class DemoController extends Controller
{
    public function index()
    {
        // Print the page
        return view('demo/index', [
            'pageTitle' => "Laravel Framework",
        ]);
    }
}
// resources/views/demo/index.blade.php

<!-- In page header -->

@jxnCss()
</head>

<body>

<!-- Page content here -->

</body>

<!-- In page footer -->

@jxnJs()

@jxnScript()

Jaxon类

Jaxon类可以继承自\Jaxon\App\CallableClass。默认情况下,它们位于Laravel应用的app/Jaxon/App目录中,相关命名空间为\Jaxon\App

以下是一个简单的Jaxon类示例,定义在app/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-laravel/issues
  • 源代码:github.com/jaxon-php/jaxon-laravel

许可证

此软件包采用BSD许可证。