php yaf twig,GitHub - cheerego/happy_yaf: 搭建一个可用的Yaf,包括Laravel的Eloquent ORM、Twig、脚手架、Whoops和使用用例...
鸟哥的Yaf
安装
请确保机器已经安装了Yaf框架, 并且已经加载入PHP;
把项目目录Copy到Webserver的DocumentRoot目录下;
需要在php.ini里面启用如下配置,生产的代码才能正确运行:
yaf.use_namespace=1
yaf.use_spl_autoload=1
重启Webserver;
进入项目目录执行 conposer require;
访问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你需要:
在Command目录下编写一个GenerateXXXCommand.php(可以参照已经写好的例子)
然后在smartisan中注册这个命令
Twig
Yaf使用其他的模板引擎需要实现Yaf\View_Interface这个Interface,然后在Bootstrap.php中注册。
使用Twig的用例,在application\library\Twig.php
使用依赖
#Last
后续会增加 seeder csrf log redis migrate
php yaf twig,GitHub - cheerego/happy_yaf: 搭建一个可用的Yaf,包括Laravel的Eloquent ORM、Twig、脚手架、Whoops和使用用例...相关推荐
- 搭建github服务器_搭建一个属于自己的公网博客
相信每一位程序员都喜欢拥有一个属于自己的博客. 当然,在我认为,内容以及模块都要自己进行可扩展定义才是真正属于自己的. 那么想要一个博客就必须要有一个服务器和一个域名,这样的话才能让自己的博文内容发扬 ...
- 技术人如何利用 github+Jekyll ,搭建一个独立免费的技术博客
上次有人留言说,技术博客是程序员的标配,但据我所知绝大部分技术同学到现在仍然没有自己的技术博客.原因有很多,有的是懒的写,有的是怕写不好,还有的是一直想憋个大招,幻想做到完美再发出来,结果一直胎死腹中 ...
- 利用github+picgo+Typora搭建一个好用的markdown图床
微信公众号:大黄奔跑 关注我,可了解更多有趣的面试相关问题. 文章目录 写在之前 1. 新建一个仓库 2. 获取token 3. 安装picgo 4. 配置picgo 1. 配置图床 2. 防止图片重 ...
- 怎么搭建一个易对接后台(包括网站源码及实例应用)
网上找了大部分的教程,都是那种说的不明不白的教程,误导了很多小白,今天我就要来说一下该怎么搭建 首先把我们下载好的源码,解压到服务器的目录下然后记得创建一个名为appdoc的数据库,用户名和数据库名都 ...
- 从 0 搭建一个工业级推荐系统
推荐系统从来没像现在这样,影响着我们的生活.当你上网购物时,天猫.京东会为你推荐商品:想了解资讯,头条.知乎会为你准备感兴趣的新闻和知识:想消遣放松,抖音.快手会为你奉上让你欲罢不能的短视频. 而驱动 ...
- 在Github上面搭建一个自己域名的Hexo博客
前言 在一次看到别人的博客主页,觉得设计很漂亮.但是由于自己对于前台这块没什么办法,煞是羡慕.偶然中发现这种样式是在Github上面搭建的,使用的是Next主题.于是便想自己也搭建一个,于是便去就去查 ...
- github项目怎么运行_利用 GitHub 从零开始搭建一个博客
"NightTeam",一个值得加星标的公众号. 趁着周末,搭建了一下 NightTeam 的官方博客和官方主页,耗时数个小时,两个站点终于完工了. 由于 NightTeam 的域 ...
- 利用Octopress搭建一个Github博客
小引 Octopress是利用Jekyll博客引擎开发的一个博客系统,生成的静态页面能够很好的在github page上展现.号称是hacker专属的一个博客系统(A blogging framewo ...
- 利用GitHub搭建一个酷炫免费的个人博客
转载自公众号:python_shequ 由于公众号的文章不易后续整理阅读,于是小吴昨天上午花了半个小时使用 GitHub + Hexo 搭建了一下个人博客,打算将公众号的文章搬过去,支持关键字搜索.分 ...
- 如何搭建一个独立博客——简明Github Pages与Hexo教程
(?)[-] http://cnfeat.com/2014/05/10/2014-05-11-how-to-build-a-blog/ 摘要:这是一篇很详尽的独立博客搭建教程,里面介绍了域名注册.DN ...
最新文章
- 最好的电脑系统_热键被占用怎么办?电脑系统 程序 游戏热键被占用冲突如何解决?...
- Leetcode题库217.存在重复元素(python实现)
- NPAPI和PPAPI开发
- Python中global和nolocal作用域的理解
- 教你自制.NET Core Global Tools
- 想说爱你不容易,浏览器缓存浅谈
- 配置 BeautifulSoup
- 了解一下Golang的市场行情
- CF125E MST Company
- Go - 学习/实践
- ARcgis常用符号库(含字体库)_三调_二调_规划等
- PHP实现微信模板消息推送 - 附代码
- Google earth engine(GEE)——LANDSAT8统计不同点的DN值
- 余淼杰老师 经济学原理复习笔记(宏观3) 2020-12-14
- 计算机cpu风扇不转怎么办,组装电脑cpu风扇不转怎么办 组装电脑cpu风扇不转解决方法【介绍】...
- 使用c语言编程首先要新建,【C语言编程入门系列】—— 第三章,编写第一个C语言程序!...
- 性能测试包括哪些方面?
- android+微信分享代码,Android 微信分享icon黑边代码解决
- php 判断app浏览器打开,手机浏览器下判断是否安装某app,并判断是否打开该应用...
- 液晶面板里面有些什么配件_液晶电视核心部件各类液晶面板介绍是什么?请生意经的朋友帮忙解答...
热门文章
- WIN10下装Ubuntu 18.04双系统
- 梦回山海推广码jn0010 梦回山海推广码
- Pale Blue Dot/暗淡蓝点------Carl Sagan/卡尔萨根
- RAD Studio 10.3.1 cannot initialize object parameter of type..........“
- 【用Python对全职高手小说分析分词词频词性,小说人物出场次数排序,小说中食物排序,小说人物关系等等】
- 【Unity3D-Mirror多人坦克大战】子弹及其开火位置的生成、子弹开火逻辑(四)
- pwm波如何控制电机代码_微电机如何精准控制?用这种控制系统就可以
- 系统流程图,数据流程图和Ipo图的介绍
- 桌面计算机地址栏在哪,电脑窗口地址栏清理
- 库克是个挺不错的接班人,但是苹果公司的价值已经见顶