athill / php-utils
PHP 工具类
Requires
- php: >=5.4.0
- ezyang/htmlpurifier: dev-master
- monolog/monolog: 1.12.*@dev
This package is not auto-updated.
Last update: 2021-05-28 23:40:31 UTC
README
存档
这是一个简化网站构建的项目。它有一些好想法,但扩展性不足,当客户端技术超越了 jQuery 时,其相关性也大大降低。
哲学
这个项目的想法是成为“穷人的 Laravel”。我的意思是,我是 Laravel 的超级粉丝,但
- 在共享主机环境中使用 Laravel(或另一个 MVC(模型-视图-控制器)框架)可能令人望而却步,甚至不可能。
- 尽管 Laravel 让有经验的程序员的工作变得简单,但对于 PHP 初学者来说,学习曲线仍然相当陡峭。
- 即使你有经验并可以转向更成熟的框架,我希望这些工具可以帮助您从遗留网站过渡。
请勿使用此框架来编写下一个大项目。它适用于小型组织或爱好的小网站。
该框架旨在小巧、易理解且可扩展。在确保替换工具满足现有工具合同的情况下,很容易扩展或替换工具。
此外,该框架也深受约定优于配置的概念影响。
页面流程
页面可能看起来像这样
<?php
require('./setup.inc.php');
$local = [
///// override defaults
];
$page = new \Athill\Utils\Page($local);
//// page content
$page->end();
这里发生了什么?
-
setup.inc.php 用于覆盖 Setup.php 中找到的默认设置。它还启动/继续会话,设置时区等。它还创建了全局 $h 和 $site 变量。稍后会详细介绍这些。
-
您现在可以跳到 "//// 页面内容"。一旦加载了设置,您就有了一整套数据和可用方法。然而,如果未使用页面对象,则需要您提供任何标题或页脚等。
-
$local 变量(仅是一个约定)用于覆盖当前页面的默认设置。您现在可以在网站和页面级别覆盖默认设置。
-
$page 负责一切,除了页面内容。标题标签、页眉、页脚、可选侧边栏。将不同的模板传递给 $page 可以完全改变页面的外观和感觉。
-
$site 是配置存储的地方,您可以从那里访问。
-
$h 是一个 HTML 生成器。例如
$h->div('content', ['class'=>'rad']); //// div tag //// and $h->odiv(['class'=>'rad']); //// open div tag $h->tnl('content'); //// tab-newline $h->cdiv(); //// close div tag //// both generate <div class="rad">content</div>还有更多复杂但有用的方法,但您没有义务使用 $h。只需在实例化 $page 后结束 PHP 标签,在调用 $page->end() 之前恢复它,并将您的 HTML 内容放在其中即可。
<?php require('./setup.inc.php'); $local = [ ///// override defaults ]; $page = new \Athill\Utils\Page($local); ?> <!-- page content --> <?php $page->end(); ?>
状态
目前仍在进行中。
更新 2015-03-29
已建立基本设置和模板系统。示例实现请参阅 demo.anyhill.us。代码位于 PHP-Utils-Demo。要尝试使用,您需要有一个 vagrant box 或上一更新中的要求。运行此存储库的有限演示页面只需 PHP 和 Composer
> git clone https://github.com/athill/PHP-Utils
> cd PHP-Utils
> composer update
> php -S localhost:8000
//// go to localhost:8000 in your web browser
更新 2015-02-14
我刚刚触及了表面,但正在渲染一个基本、符合规范的 HTML 页面。要运行演示
- 您需要 PHP、Composer 和 Bower。请安装这些。
- 下载此存储库(解压缩,进入目录)
- 进入 demo 目录。demo 很可能很快将成为一个单独的存储库,但我将所有内容放在一个目录中很方便,但许多复杂性和好处都指向将其移动。
- $ composer update
- $ bower install
- $ php -S localhost:8000
- 在浏览器中转到 localhost:8000,查看源代码
- win
此处的实际目的是在 demo/vendor/athill/php-utils/src 目录中。其中大部分目前并未使用。目前,情况如下
-
您转到 localhost:8000
-
由于您没有请求特定的页面,您将获得 index.php,其外观如下
p('content'); $page->end(); -
setup.inc.php 设置了一些内容并调用 Setup.php,该文件设置了一组默认值。
-
Page.php 使用这些默认值和可选选项来渲染内容周围的内容
-
内容,在这种情况下,是 <p>content</p>,来自 $h->p('content');