drewcking/nestphp

一个小巧、基于闭包的 PHP 5.3+ 微型框架

v1.0.0 2013-03-07 15:04 UTC

This package is not auto-updated.

Last update: 2024-09-22 03:59:31 UTC


README

非常小,基于过程的闭包微型框架

基本用法

使用 NestPHP 最快的方法是将 nest.php 放置在网站文档根目录下,例如 /var/www/html/,然后在你的 .htaccess 文件或虚拟主机容器中放入以下内容

php_value auto_prepend_file /var/www/html/nest.php

为了确保其工作正常,创建 index.php 并包含以下代码

<?php
\nest\get(function() {
    echo "Hello, Nest!";
});

过滤器

NestPHP 允许你将代码组织到闭包中,你可以将它们连接起来以处理请求。为了看到这一功能的实际应用,在你的文档根目录下的以下目录中创建以下脚本

// /before.php
<?php
\nest\get(function() { echo "BEFORE (root)<br>\n"; });
  
// /admin/before.php
<?php
\nest\get(function() { echo "BEFORE (admin)<br>\n"; });

// /admin/index.php
<?php
\nest\get(function() { echo "index!<br>\n"; });

// /admin/after.php
<?php
\nest\get(function() { echo "AFTER (admin)<br>\n"; });
  
// /after.php
<?php
\nest\get(function() { echo "AFTER (root)<br>\n"; });

如果你从你的网站请求 /admin/index.php,你会看到以下 HTML

BEFORE (root)<br>
BEFORE (admin)<br>
index!<br>
AFTER (admin)<br>
AFTER (root)<br>

NestPHP 将检查请求脚本的路径,并自动预先添加任何存在的 before.php 脚本,并自动追加任何存在的 after.php 脚本。

NestPHP 不做什么

  • 路由
  • 模板
  • 缓存
  • 日志
  • 数据库抽象
  • 管理界面构建

它实际上不过是一个稍微花哨一点的 "包含头部/尾部" 的版本;基本上,它是自动嵌套的头部和尾部,同时可以将特定于请求的(GET/POST)逻辑锁定到闭包中。

...待续