ntlab/ntjs

PHP Javascript 仓库

v3.14.0 2024-09-21 16:26 UTC

README

PHP-NTJS 允许您动态管理 JavaScript、样式表和脚本,从而您可以专注于您的代码。您可以使用 PHP 类编写 JavaScript 代码,或者直接在 PHP 代码中编写,甚至在模板中。

JQuery 和 Bootstrap

支持流行的 JavaScript,如 JQuery、Bootstrap 和 FontAwesome。

CDN

为了加快您的页面加载速度,可以启用 CDN,PHP-NTJS 将自动为您完成。只需加载所需的 CDN 信息,资源将从 CDN 加载。

压缩输出

在生产环境中,您可以通过使用 JSMin 或 JShrink 来启用脚本输出压缩。在开发中,您可以添加脚本调试信息,以便轻松定位有问题的代码。

与您的代码集成

要将 PHP-NTJS 与您的代码集成,您需要在项目中启用 Composer 支持。

  • 需要 ntlab/ntjs 并安装依赖项。
php composer.phar require ntlab/ntjs
php composer.phar install
  • 在公共网页文件夹中的某个位置克隆资源。
git clone https://github.com/tohenk/ntjs-web-assets /path/to/www/cdn
  • 创建脚本后端,负责收集资源,它必须实现 NTLAB\JS\BackendInterface 或扩展 NTLAB\JS\Backend。后端的示例代码可在 此处 找到。

  • 创建脚本依赖解析器,负责解决脚本引用时的命名空间。它必须实现 NTLAB\JS\DependencyResolverInterface。解析器的示例代码可在 此处 找到。

  • 可选地,创建脚本压缩器,实现 NTLAB\JS\CompressorInterface。压缩器的示例代码可在 此处 找到。

  • 将其连接在一起,请参阅 示例

use NTLAB\JS\Manager;
use NTLAB\JS\Script;

class MyClass
{
    protected $useCDN = true;
    protected $minifyScript = false;
    protected $debugScript = true;

    public function initialize()
    {
        $manager = Manager::getInstance();
        // create backend instance
        $backend = new Backend($this->useCDN);
        // set script backend
        $manager->setBackend($backend);
        // register script resolver, the backend also a resolver
        $manager->addResolver($backend);
        // register script compressor, the backend also a compressor
        if ($this->minifyScript) {
            $manager->setCompressor($backend);
        }
        // set script debug information
        if ($this->debugScript) {
            Script::setDebug(true);
        }
    }
}
  • 开始编写您的 JavaScript 代码,请参阅 示例
use NTLAB\JS\Script;

class MyDemoClass
{
    public function something()
    {
        Script::create('JQuery')
            ->add(<<<EOF
alert('Do something');
EOF
            );
    }
}
  • 添加辅助程序以将样式表、JavaScript 和脚本包含到 HTML 响应中,请参阅此 示例 和此 示例

可用脚本

下表包含脚本集合及其用法。

实时演示

实时演示可在 此处 获取。