jsnlib / codeigniter-prototype-converter
1.0.0
2018-07-30 03:26 UTC
Requires
- php: >=7.1.0
- jsnlib/ao: >=1.2.2
- jsnlib/del: >=1.1.1
- sunra/php-simple-html-dom-parser: 1.5.2
README
这是一个 Codeigniter 类别,当使用 Codeigniter 编写网站后,可以将 PHP 转换为 HTML,且能在没有服务器的环境下运行。这非常适合用来构建 Prototype 原型,或是商务提案的演示。
为什么要推荐使用?
- 对于如
<header><footer>这样的共同页面进行修改时,可以不必重复操作。 - 通过 PHP 动态开发模板,可以使用
if elseforeach加快速度制作原型。
安装
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中,那么只需要指定一次即可,会非常方便。pages将Codeigniter的路由转换为静态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。