jsnlib/codeigniter-prototype-converter

1.0.0 2018-07-30 03:26 UTC

This package is auto-updated.

Last update: 2024-08-29 04:54:25 UTC


README

这是一个 Codeigniter 类别,当使用 Codeigniter 编写网站后,可以将 PHP 转换为 HTML,且能在没有服务器的环境下运行。这非常适合用来构建 Prototype 原型,或是商务提案的演示。

为什么要推荐使用?

  • 对于如 <header> <footer> 这样的共同页面进行修改时,可以不必重复操作。
  • 通过 PHP 动态开发模板,可以使用 if else foreach 加快速度制作原型。

安装

composer require jsnlib/codeigniter-prototype-converter

建议 Codeigniter 版本为 3.1.9 以上。

使用方法

必要的

使用 <base>

HTML 必须在 <head> 中添加 <base href="<?=site_url()?>"> 作为基本位置,确保整个网站中的超链接、媒体的基本位置,都与根目录 index.php 同一层次。 site_url() 可由 $this->load->helper(url); 载入,或是从 application/autoload.php 添加 $autoload['helper'] = array('url');

建立设置文件

application/config/prototype.php 以下是一个示例

  • assets 可以指定多个静态资源,可能是 CSS、JavaScript、媒体、字体等等。如果所有的资源都包含在如 assets 中,那么只需要指定一次即可,会非常方便。
  • pagesCodeigniter路由 转换为静态 HTML 名称。命名 HTML 时不使用路径,除了在程序设计上过于繁琐且效益不高之外,嵌套需要不断切换上下页,确实不利于网页浏览。建议使用下划线 _ 命名,因为驼峰式写法 camelCase ,若在 Windows 将会不分大小写,较为不严格。当值为 null 将使用下划线自动命名。
  • put 生成的静态 html 放在根目录的文件夹中。路径不存在会自动建立,请注意根目录的权限。
<?php 
$config = 
[
    'assets' => 
    [
        'assets'
    ],
    'pages' => 
    [
        'product/index' => 'product.html',
        'product/content/001' => 'product_content_001.html',
        'product/content/002' => null, // 自動轉換為 product_content_002.html
    ],
    'put' => 'static-pages'
];

建立控制器

  • 你可以随意命名,例如 application/controllers/Build.php
class Build extends CI_Controller {

    public function index()
    {
        $this->prototype = new \Jsnlib\Codeigniter\Prototype\Converter;
        
        $result = $this->prototype->build(
        [
            'download' => false
        ]);

        var_dump($result);
    }

}

通过网址运行后,会在根目录形成一份由 config/prototype.php 的 put 所指定的路径,里面即是生成的静态 HTML。若想打包成 zip,可以指定参数 doewnload => true