penoaks/milky-framework

v6.0.3 2016-08-07 05:13 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:58:27 UTC


README

StyleCI Build Status Total Downloads Latest Stable Version Latest Unstable Version License

入门

Milky 框架使用 Composer 来管理依赖项。因此,在使用 Milky 框架之前,请确保您的机器上已安装 Composer。

依赖项

请确保已安装以下依赖项。

  • PHP >= 5.5.9
  • OpenSSL PHP 扩展
  • PDO PHP 扩展
  • Mbstring PHP 扩展
  • Tokenizer PHP 扩展

使用 Composer 安装

您可以通过在终端中运行 Composer 的 create-project 命令简单地安装 Milky 框架

composer create-project --prefer-dist penoaks/milky-framework framework

您还可以通过在您的 composer 项目中简单地要求我们的存储库来安装框架,请记住至少引用我们的框架项目,例如项目文件。

composer require penoaks/milky-framework
composer update

您的第一个项目

使用 Milky 框架,没有应用程序或用户文件存储在框架目录中。相反,视图、控制器等存储在您的 webroot 中找到的 src (可自定义)目录中。正因为如此,您可以简单地通过删除旧的框架目录并重新安装来更新您的安装。您只需要 index.php.htaccess 文件来设置适当的路由。请确保您已启用 Apache 的 mod_rewrite 模块。

.htaccess

<IfModule mod_rewrite.c>
	<IfModule mod_negotiation.c>
		Options -MultiViews
	</IfModule>

	RewriteEngine On

	# Ignore Let's Encrypt Challenges
	RewriteRule ^.well-known - [L]

	# Redirect Trailing Slashes If Not A Folder...
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule ^(.*)/$ /$1 [L,R=301]

	# Pass Request to Penoaks Framework
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteRule ^ index.php [L]

	# Handle Authorization Header
	RewriteCond %{HTTP:Authorization} .
	RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

index.php

<?php
$fw = require( "framework/Constructor.php" ); // Replace 'framework' with the location of Penoaks Framework.

/*
 * init() function sets up a basic framework instance and loads Composer classes.
 * The first argument sets the application directory.
 * The second argument (optional) sets the 'config' directory. Not defined (or null), will set it as 'config' under the application directory.
 */
$fw->init( __DIR__ );

/*
 * join() function takes over the current request and returns a response.
 * Be sure that no data was output before this, else problems could arise.
 */
$fw->join();

由于 Penoaks 框架独特的处理 webroot 的方式,frameworksrc 目录可以位于您的机器上任何可由 Apache 用户写入的位置。虽然不建议这样做,但也可以使用相同的框架安装为多个虚拟主机服务。如果您确实将 framework 和/或 src 目录与您的 webroot 一起保留,请确保使用各种在线方法禁止访问,这些方法可以通过简单的搜索找到。

示例应用程序可以在示例目录下找到。

Penoaks PHP 框架

Penoaks 框架是 Chiori-chan 简化框架的延续,称为 Chiori 框架。从 Laravel 分支,它是一个具有表达性和优雅语法的框架。Chiori-chan 添加的附加功能使框架更加强大和健壮。享受吧!

如果您在框架中寻找更多功能和持久性,请查看 Chiori-chan 的 Web 服务器。它用 Java 编写,具有易于理解的 API,并以 Groovy 作为脚本语言运行。

历史

几乎 7 年前,Joel Greene(又名 Chiori-chan)正在寻找一个简化但功能强大的框架来构建他的网络应用程序。当时的大多数框架要么提供他不需要的功能,要么有数英里长的文档要阅读才能开始,他转而自己编写。最近开始学习 PHP,包括对 PHP 的有限了解,他最终得到了他需要的框架。它具有插件、事件、易于使用的模板引擎、内置的用户和会话管理等功能。

但在Joel的版本中只有少数几个版本存在困境,PHP在持久性和确保每次请求所需代码量最小化方面存在很大缺陷。在最近开发了他的第一个Android应用程序后,他决定尝试Java。但让他失望的是,Java的简化网络开发(并且至今仍然是)非常罕见,市场上可用的开源项目需要一些广泛的XML、生命周期知识,最糟糕的是,使用了(非常沉重的)配置优于约定(Conventions over Configuration),这使得错误频发。此外,还有调试的缺乏以及Java需要始终编译的问题。在将他的框架迁移到Java并经历了很多试验和错误后,最大的难题是找到与PHP类似的脚本语言。Chiori-chan的Web服务器应运而生。它具有许多旧PHP框架的功能,以及更多功能,例如CSRF令牌、任务管理器(用于后台进程)、即时图像处理器、内置CSS和JS压缩、Groovy脚本语言(使用可扩展的脚本引擎)、基于节点的权限系统等等。

如今,Joel Greene和他的妻子Rachel共同拥有Penoaks Publishing Co.,并居住在密苏里州的堪萨斯城。最近,由于Penoaks的一个侧项目的需要,Joel尝试了Laravel框架后,决定重新启动维护PHP框架的想法。尽管发现Laravel在处理模型和错误方面存在问题,但他喜欢Laravel的其他方面,因此决定分支Laravel,从而诞生了Penoaks框架。

官方文档

该框架的文档可以在Penoaks网站上找到。

贡献

感谢您考虑为Penoaks框架做出贡献!完整的贡献指南仍在进行中,但您可以从分支和拉取请求开始。

安全漏洞

如果您在Penoaks中发现安全漏洞,请发送电子邮件到me@chiorichan.com给Chiori-chan。所有安全漏洞都将得到及时处理。

许可证

Penoaks框架是开源软件,许可协议为MIT许可证