clancats/framework

ClanCats 框架,因为您的宝贵时间。HMVC PHP 框架。

v2.0.6 2014-09-16 08:06 UTC

This package is auto-updated.

Last update: 2024-09-24 01:30:56 UTC


README

ClanCats Framework 2.1

Build Status License Downloads

ClanCatsFramework,轻松的 Web 开发,无过度设计。HMVC PHP 框架。

这是应用程序仓库,如果您想贡献,请查看核心仓库: https://github.com/ClanCats/Core

哲学

有许多出色的框架,我不想重新发明轮子。我对 CCF 的愿景是一个

  • 现代
  • 架构良好
  • 高性能
  • 用户友好

全栈 PHP 框架。

用户友好或开发者友好是核心哲学。技巧应该是保持简单解决方案和最佳解决方案之间的平衡。我曾经使用 Zend 和 Symfony2 开发了很多大型应用程序,总有那么一点,当我看到代码时,我会想

"等等,为了生成一个随机字符串,我需要一个扩展容器的类,它提供了 util 服务工厂来创建一个新的字符串 util 实例,我可以在上面执行随机字符串方法?"。

通常,使用这些框架达到简单目标是一种完全过度设计。所以 CCF 的目标是通过遵循 100% 的约定来使开发舒适。

历史

这个 PHP 框架最初于 2010 年构建,作为名为 "ClanCats" 的社交平台的核心。2012 年,我决定将核心与应用程序分开,于是 CCF 诞生了。在开发几个 CCF v1.0 应用程序后,到了重新思考核心结构并重写整个内容的时刻,以便开源。

安装

使用一条命令就可以简单地设置新的 CCF2 实例,换句话说,就是使用 composer。

运行以下命令创建新的 CCF 项目。

$ composer create-project clancats/framework <your project name> --prefer-dist

未安装 composer?请在此处阅读安装指南:https://getcomposer.org.cn/download/

要求

要运行此框架,请检查以下要求

  • PHP >= 5.3.9
  • PHP JSON
  • PHP MCrypt
  • PHP Multibyte String
  • Apache with mod_rewrite 或 Nginx

权限

对于某些操作(存储、packtacular 等),我们可能需要在文件系统中授予写入权限。

存储: /CCF/storage/
Packtacular: /public/assets/packtacular/

您还可以使用 cli doctor 设置这些。

$ php cli doctor::permissions

如果您在设置权限时遇到错误,请尝试使用 sudo 运行该命令。

结构

在新 CCF2 文件夹结构中,我们将一些内容分开,以提高部署效率。

 - CCF/
   - app/                // Your Application 
   - core/               // The CCF Core
   - orbit/              // Orbit ships ( plugins / modules ) 
   - storage/            // Internal file storage for logs, cache etc.
   - vendor/             // Composer vendor

 - boot/
   - environment.php     // The Environment configuration
   - paths.php           // Framework paths configuration

 - cli                   // Command line utility
 - composer.json
 - framework.php
 - phpunit.xml

 - public/
   - index.php           // Web Application public

配置

通常不需要配置即可运行框架(取决于您的环境)。然而,我们建议在开始开发您出色的应用程序之前进行一些配置。

引导

引导配置允许您更改 CCF 的核心行为。

环境

定义您的应用程序如何检测环境。
您可以创建一个完全属于自己的脚本以返回运行时环境,或者可以使用 env detector。

/boot/environment.php

查看环境文档: 环境

路径

打算在一台机器上运行多个CCF安装?只使用单个核心?这没问题,因为您可以修改CCF路径。

/boot/paths.php

您还可以自由添加新的路径。向数组中添加新元素会将路径添加到运行时,并创建一个路径定义

<value> = <value>PATH
test = TESTPATH

主配置

您将在以下位置找到初始的 主配置文件

/CCF/app/config/main.config.php

安全盐

在CCF的几个地方,将通过使用盐来加密某些内容。您应该定义自己的盐以保持应用程序安全。

您可以使用以下命令生成随机盐

$ php cli doctor::security_key

当使用composer创建新项目时,盐会自动生成。

否则,您将在主配置中的安全部分找到密钥

'security' => array(
    'salt' => 'L~7(%(9=@9+8u.Oo4+ysT45fkA4,82',
),

路径偏移

也许您希望从域根以外的位置运行应用程序,例如从子文件夹。 论坛

// www.yourdomain.com/forums/
'url'	=> array(
    'path'		=> '/forums/',
),

有关其他一切,请查看主配置文档: 配置

路由

根据您的系统,您可能需要设置一些东西,以便所有公共请求都结束在 public/index.php 文件。

CCF附带了一个为启用 mod_rewrite 的apache系统提供的 .htaccess

RewriteEngine On
# RewriteBase /subdir/

# Only Rewrite URL if file not exits
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Default
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]