PHP开源框架-StarFramework

qq_31754595 2015-10-04 11:11:22
写了一个简单实用的PHP框架,包含完整的开发文档和提供后台管理权限demo,有兴趣的可以了解下哈,有什么不合理或者好建议,都可以帮忙提出来哈。
官方网站: StarFramework
框架目录结构

+ public
| - .htaccess // Rewrite rules
| - index.php // Application entry
| + static
| + css
| + js
| + img
- application/
- Bootstrap.php // Bootstrap
+ configs
| - application.ini // Configure
+ controllers
- IndexController.php // Default controller
+ layouts
| + default
- layout.phtml // layout
+ logs //Log
+ models //Model
+ services //Service
+ views
| + scripts
|+ index
- index.phtml // View template for default controller
+ library
| + Star //Star Framework


服务器环境要求

PHP最低版本: 5.2+
配置

SF初始添加环境变量,无需任何配置即可使用, SF支持Star_Config_Ini和Star_Config_Php两种适配器。环境变量初始值必须包含入口文件定义APPLICATION_ENV值,环境变量用来区分测试环境和线上环境配置。配置文件配好各个环境配置,可以直接修改入口文件APPLICATION_ENV值切换配置。
PHP配置

<?php
return array(
"production" => array( //环境变量
"bootstrap" => array( //bootstrap设置
"path" => APPLICATION_PATH . "/Bootstrap.php", //bootstrap路径
),
"resources" => array(
"frontController" => array(
"debug" => true, //是否打开debug模式
),
),
),
);
?>


INI配置

[production]
;bootstrap路径
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
;bootstrap类名
bootstrap.class = "Bootstrap"


权限设置

SF日志目录是需要权限设置,application/logs目录需要设置为可写入权限。
WEB服务器

指定WEB根目录到sf_path/public目录,开启WEB服务器Rewrite模块。
apache配置

# 设置文档根目录为 “sf_path/public”
DocumentRoot "sf_path/public"
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule !\.(js|css|png|jpg|jpeg|gif|swf|ico|html|htm)$ index.php [NC,L]

nginx rewrite规则

server {
listen 80;
server_name www.yoursf.com;

location / {
root sf_path/public;
index index.php;
if (!-e $request_filename) {
rewrite ^/(.*) /index.php/$1 last;
}
}

location ~* \.(js|css|png|jpg|jpeg|gif|swf|ico|html|htm)$ {
break;
}

location ~ \.php$ {
root sf_path/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~ /\.ht {
deny all;
}
}


运行

安装完成后,你可以使用浏览器输入如下URL访问刚安装完毕的SF应用:

http://www.yoursf.com/


你将会看到SF影响缺省页面,恭喜您!开始基于SF构建应用程序之路。
...全文
798 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
HowgoO 2016-06-22
  • 打赏
  • 举报
回复
貌似不错哦。多多推广。
qq_31754533 2015-10-16
  • 打赏
  • 举报
回复
支持下,不错!
qq_31754595 2015-10-04
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
入口文件(index.php)在子目录(public)中? 如果要做多个项目,该如何布局?
入口文件放在public主要是考虑安全问题。 放哪都可以,开发者是自己定义,只要能保证安全的情况下。
xuzuning 2015-10-04
  • 打赏
  • 举报
回复
入口文件(index.php)在子目录(public)中? 如果要做多个项目,该如何布局?
ThinkPHP 3.0正式版完全开发手册 CHM格式 如果下载解压后无显示,请单击右键->属性:单击常规标签下方的“解除锁定”,然后“应用”,“确定”,即可查看 -------------------- 华丽的分割线 ----------------------- ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,众多的典型案例确保可以稳定用于商业以及门户级的开发。 经过6年的不断积累和重构,3.0版本又是一个新的里程碑版本,在框架底层的定制和扩展方面趋于完善,使得应用的开发范围和需求适应度更加扩大,能够满足不同程度的开发人员的需求。而且引入了全新的CBD(核心+行为+驱动)架构模式,旨在打造DIY框架和AOP编程体验,让ThinkPHP能够在不同方面都能快速满足项目和应用的需求,并且正式引入SAE、REST和Mongo支持。 使用ThinkPHP,你可以更方便和快捷的开发和部署应用。当然不仅仅是企业级应用,任何PHP应用开发都可以从ThinkPHP的简单和快速的特性中受益。ThinkPHP本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应用开发更简单、更快速。为此ThinkPHP会不断吸收和融入更好的技术以保证其新鲜和活力,提供WEB应用开发的最佳实践!经过6年来的不断重构和改进,ThinkPHP达到了一个新的阶段,能够满足企业开发中复杂的项目需求,足以达到企业级和门户级的开发标准。 ThinkPHP遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售。

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧