本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 经过了上一个 系列教程  <利用 Composer 一步一步构建自己的 PHP 框架> ,我们组建了一个具有  路由 . MVC 架构  和  ORM  功能的基础框架  MFFC .接下来我们继续完善这个项目. 我们先从目前用着  最不爽  的地方——视图装载下手.我们将封装一个视图装载类,让它来帮我们装载视图,并把变量传递进视图.这个类将只…
本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 上一篇文章中,我们手工建造了一个简易的视图加载器,顺便引入了错误处理包,让我们的 MFFC 框架在 M.V.C 三个方面都达到了“好用”的水平.View 是一个可插拔组件,在本篇文章中我们要创建另一个可插拔组件——邮件发送模块. 正文 我们采用 'nette/mail' 包作为我们的邮件发送基础模块,在它的基础上封装一个 'Mail' 类,暴露出…
本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 上两篇文章中我们完成了 View 视图加载类和 Mail 邮件发送类的设计,完成了两个可插拔组件.本篇文章中我们将构建另一个可插拔组件——'Redis 接口',并使用它构建 'MFFC' 的高速缓存服务. 正文 Redis 简介 'Redis' 是一个高性能的 'key-value' 数据库,其 'value' 支持 'String'.'Map(…
完整项目地址:https://github.com/Evai/Aier 视图装载类要做的工作其实很简单: 1. 根据视图名称找到视图文件,支持文件夹 2. 更加方便,更加优雅地把变量的值传递进视图 本文中我们将不会不引入模板引擎,只做装载文件和传递变量的功能. 基础准备 我们要引入视图装载器,这就正式打开了组件化的大门,所以我们需要做一些准备工作. 启动流程组件化 将  public/index.php  里面的代码分离一部分到启动器(bootstrap),新建  MFFC/bootstrap.…
『Composer 一统天下的时代已经到来!』——白岩松 “一个时代结束了,另一个时代开始了.” Framework Interoperability Group(框架可互用性小组),简称 FIG,成立于 2009 年.FIG 最初由几位知名 PHP 框架开发者发起,在吸纳了许多优秀的大脑和强健的体魄后,提出了 PSR-0 到 PSR-4 五套 PHP 非官方规范: 1. PSR-0 (Autoloading Standard) 自动加载标准 2. PSR-1 (Basic Coding Sta…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head> <meta htt…
经常看到各种开源库推荐使用 composer 安装代码,却总是看不懂怎么用composer, 这几天静下心来学习了composer的使用,发现这可真是一个好东西,先贴上一个讲的很棒的视频教程: PHP Composer 视频教程 视频讲的很详细,我这里主要整理一下 使用环境的搭建 , 基本用法 , 发布方法 一.环境搭建 需要用到的软件:(为了方便贴的百度盘, 挂了的话也可百度搜索,获取最新版本, 都是免费的) 1.git客户端  ( 密码:2dve ) 2.php集成环境(资源为php工具箱…
如何利用tensorflow的object_detection api开源框架训练基于自己数据集的模型(Windows10系统) 一.环境配置 1. Python3.7.x(注:我用的是3.7.3.安装好后把python.exe的路径加入到全局环境变量path中,方便后续命令) 2. Tensorflow1.13.1(注:目前暂时还不能用tensorflow2.x,因为开源社区还没有针对Windows10+tensorflow2.x的object_detection api参考资料.) 3. P…
laravel框架中视图间共享数据有两种,一种是用视图门面share()方法实现,另一种是用视图门面composer() 方法实现,那么,两种方法的实现究竟是怎样的呢?让我们来看一看接下来的文章内容. 首先,需要注意的一点是:都是使用 View 门面来访问 Illuminate\Contracts\View\Factory 的底层实现 视图门面share()方法 有时需要在所有视图之间共享数据片段,这时候可以使用视图门面的 share 方法. 1,一般情况下,我会在app\http\Contro…
本文实例讲述了Laravel5.4框架中视图共享数据的方法.分享给大家供大家参考,具体如下: 每个人都会遇到这种情况:某些数据还在每个页面进行使用,比如用户信息,或者菜单数据,最基本的做法是在每个视图空控制器中传入这些数据,但显然并不是我们想要的结果.另一种方法就是使用视图数据共享,视图数据共享的基本使用很简单,可查看视图文档了解详情,这里我们演示两个使用示例:在视图间共享数据和视图Composer 在视图中共享数据 除了在单个视图中传递指定数据之外,有时候需要在所有视图中传入同一数据,即我们需…