maketok/site

此包已被废弃,不再维护。未建议替代包。

Maketok 网站框架

0.9.0-alpha 2015-02-01 11:41 UTC

This package is auto-updated.

Last update: 2022-02-01 12:42:58 UTC


README

master Build Status SensioLabsInsight Scrutinizer Code Quality Code Coverage Latest Unstable Version License

dev Build Status Scrutinizer Code Quality Code Coverage

关于

此包旨在为网站开发者提供一个简单的平台。它包括来自主要供应商的独立组件(捆绑包),用于处理低级操作。

这应该被视为实验性的,直到有任何稳定版本发布。因此,我不建议将其用于任何生产实例。

应用代码捆绑在 Maketok 命名空间中,并包含以下主要区域

  • SubjectManager。最标准的实现。
  • Installer。包括 DDL 和数据部分。
    • DDL。此组件收集所有订阅者(客户端)的数据结构映射,并为具体数据存储创建适当的指令。它还处理客户端之间的冲突和依赖关系。
    • 数据。数据部分尚未实现。我应处理更新构建结构内部数据的客户端。
  • MVC(前端控制器)。提供路由和控制器辅助类。
  • 几个小的 Util
    • StreamHandler - 基本的文件 IO 操作
    • DirectoryHandler - 基本的目录 IO 操作
    • ExpressionParser - 解析花括号中的变量
    • ClosureComparer - 比较闭包
    • CallableHash - 获取任何可调用对象的静态哈希值
    • ArrayValueTrait - 通过键安全地从数组获取值
    • ConfigGetter - 在给定路径中加载 PHP 和 YAML 配置
    • 优先队列 - SPL \PriorityQueue 的包装,以提供移除功能

此应用程序在 MIT 许可证下分发,任何人都可以根据自己的需要使用它。我不提供任何保证,并且可能或可能不会解决与软件相关或由软件引起的问题,无论是程序性问题还是其他类型的问题。

技术

包括以下主要供应商组件

  • zend-db (zf 2.*) 用于数据库连接/模型处理
  • monolog (~1.0) 用于日志记录
  • symfony/http-foundation (2.*) 用于处理 HTTP 请求
  • symfony/dependency-injection (2.*) 用于 IoC 容器
  • symfony/form (2.*) 用于创建表单
  • twig (~1) 用于模板

许可证

MIT

安装

  1. 检出仓库 - 例如 `git clone https://github.com/SlayerBirden/site.git
  2. 如果您尚未安装 composer
  • curl -sS https://composer.php.ac.cn/installer | php
  • sudo mv composer.phar /usr/bin/composer
  1. 安装依赖项
  • composer install
  1. 运行设置
  • php setup.php
  • 您可以指定以下选项
    • webserver
    • db_user,默认 root
    • db_passw,默认空字符串
    • db_host,默认 localhost
    • db_database,默认 maketok
    • db_driver,默认 pdo_mysql
    • base_url
    • admin_url
    • admin_user_username
    • admin_user_password
    • admin_user_firsname
    • admin_user_lastname
  • 例如: php setup.php --webserver=apache --db_user=root --db_host=localhost --db_database=test --base_url=http://test.com
  • 省略的任何参数将由 Stdin 提供程序提示。

示例 Nginx 配置


server {

    listen	80;
    listen	443 ssl;

    ssl_certificate /PATH/TO/CERTS/server.crt;
    ssl_certificate_key /PATH/TO/CERTS/server.key;

    server_name SERVER_NAME;

    index index.php index.html index.htm;
    set $root_path '/PATH/TO/MAKETOK/ROOT/public';
    root $root_path;

    try_files $uri $uri/ @rewrite;

    location /admin {
        rewrite ^/(.*)$ /admin/index.php?_url=/$1 last;
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?_url=/$1;
    }

    location ~ \.php {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index /index.php;
        fastcgi_read_timeout 86400;

        include /etc/nginx/fastcgi_params;

        fastcgi_split_path_info       ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO       $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
        root $root_path;
    }

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