Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cheerego/happy_yaf
搭建一个可用的Yaf,包括Laravel的Eloquent ORM、Twig、脚手架、Whoops和使用用例
https://github.com/cheerego/happy_yaf
Last synced: 3 days ago
JSON representation
搭建一个可用的Yaf,包括Laravel的Eloquent ORM、Twig、脚手架、Whoops和使用用例
- Host: GitHub
- URL: https://github.com/cheerego/happy_yaf
- Owner: cheerego
- Created: 2016-08-02T05:57:53.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-02-17T04:40:34.000Z (almost 8 years ago)
- Last Synced: 2025-01-01T11:02:45.391Z (7 days ago)
- Language: PHP
- Homepage:
- Size: 43 KB
- Stars: 19
- Watchers: 3
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
鸟哥的[Yaf](https://github.com/laruence/yaf)
# 安装
1. 请确保机器已经安装了Yaf框架, 并且已经加载入PHP;
2. 把项目目录Copy到Webserver的DocumentRoot目录下;
3. 需要在php.ini里面启用如下配置,生产的代码才能正确运行:
yaf.use_namespace=1
yaf.use_spl_autoload=1
4. 重启Webserver;
5. 进入项目目录执行 conposer require;
6. 访问`http://yourhost/path_to_your_yaf/`,出现Hellow Word!, 表示运行成功,否则请查看php错误日志;
# 文档
在该工程的很多目录下都有readme.txt里面会有一些使用概述
# 目录结构
```
.
├── application
│ ├── Bootstrap.php
│ ├── controllers
│ │ ├── Error.php //处理错误的控制器 需配置默认开启application.dispatcher.catchException = true
│ │ ├── Index.php //默认控制器
│ │ └── readme.txt
│ ├── library //类库文件夹,包含类库的加载规则示例
│ │ ├── DB.php
│ │ ├── Twig.php //twig库文件 实现Yaf\View_interface
│ │ ├── helper.php //helper是工具函数类
│ │ ├── lib
│ │ ├── readme.txt
│ │ └── test.php
│ ├── models //包含实现ORM的User.php示例 模型类使用的是laravel中使用的ORM
│ │ ├── Sample.php
│ │ ├── User.php
│ │ └── readme.txt
│ ├── modules
│ │ ├── api //实现了一个api模块
│ │ └── readme.txt
│ ├── plugins //插件文件夹
│ │ ├── Sample.php
│ │ └── readme.txt
│ └── views //试图文件夹
│
├── conf
│ └── application.ini //配置文件
├── command //脚手架库文件
│ ├── GenerateControllerCommand.php
│ ├── GenerateModelCommand.php
│ ├── GeneratePluginCommand.php
│ └── templates //脚手架模板文件夹
│ ├── controller.php
│ ├── model.php
│ └── plugin.php
├── storage
│ └── twig //twig模板引擎缓存文件
├── vendor //composer依赖库
├── .htaccess //apache重写规则
├── smartisan //脚手架工具
├── index.php //入口文件
├── readme.md
├── composer.json
└── composer.lock
```
# 配置
配置文件 `conf/application.ini`
如果不想使用DB可以注释掉Bootstrap.php中的_initDatabaseEloquent
# 脚手架工具
#### 用法
```
php smartisan
php smartisan create:controller {ModuleName}/{ControllerName}
php smartisan create:model {ModelName}
php smartisan create:plugin {PluginName}
```
#### 扩充
如果想自己添加一些脚手架Command你需要:
1. 在Command目录下编写一个GenerateXXXCommand.php(可以参照已经写好的例子)
2. 然后在smartisan中注册这个命令
# Twig
Yaf使用其他的模板引擎需要实现Yaf\View_Interface这个Interface,然后在Bootstrap.php中注册。
使用Twig的用例,在`application\library\Twig.php`
# 使用依赖
- [illuminate/database](https://packagist.org/packages/illuminate/database)
- [twig/twig](https://packagist.org/packages/twig/twig)
- [filp/whoops](https://packagist.org/packages/filp/whoops)
- [symfony/console](https://packagist.org/packages/symfony/console)#Last
后续会增加 seeder csrf log redis migrate