首页
Search
1
远程更新git项目代码
25 阅读
2
php 高并发总结
20 阅读
3
Linux 学习笔记 #3 用户跟用户组管理
19 阅读
4
Sql的执行顺序
19 阅读
5
Linux 学习笔记 #4 磁盘管理
16 阅读
lnmp
js
react
git
redis
mysql
php
laravel
闲谈
linux
python
c
51
go
Search
标签搜索
git
laravel
composer
php
Typecho
累计撰写
96
篇文章
累计收到
0
条评论
首页
栏目
lnmp
js
react
git
redis
mysql
php
laravel
闲谈
linux
python
c
51
go
页面
搜索到
13
篇与
laravel
的结果
2017-04-25
Lravel 容器实践
<?php interface Model{ public function run(); } class SuperMan{ public $model; public function __construct(Model $mode) { $this->model=$mode; } } class XPower implements Model{ public function run(){ echo '发射X-射线'; } } class Container{ protected $binds;//绑定 protected $instances;//实例化 /** * 绑定模块 * @param $abstract 模块关键字 * @param $concrete 闭包函数 或 实例 */ public function bind($abstract,$concrete) { //如果是闭包函数 if($concrete instanceof Closure){ $this->binds[$abstract]=$concrete; }else{ $this->instances[$abstract]=$concrete; } } //模块实例化脚本 public function make($abstract,$parameters=[]) { if(isset($this->instances[$abstract])){ return $this->instances[$abstract]; } array_unshift($parameters,$this); return call_user_func_array($this->binds[$abstract],$parameters); } } $container=new Container(); //模块工厂 // 工厂初始化 $container->bind('superman', function($container, $moduleName) { return new SuperMan($container->make($moduleName)); }); $container->bind('x-power',function($container){ return new XPower; }); echo '<pre>'; $superman = $container->make('superman', ['x-power']); var_dump($superman); echo '</pre>';
2017年04月25日
0 阅读
0 评论
0 点赞
2016-04-13
php关于API版本控制方案(Larvel)
利用头信息中的 HTTP_ACCEPT 控制版本号,再通过版本号来控制命名空间。HTTP_ACCEPT 添加版本号version=1.0 在项目文件的laravelvendorlaravelframeworksrcIlluminateRoutingRouter.php 添加方法//定义版本号与命名空间 protected $NameSpaceMap=array( 'v1.0'=>'v1', 'v2.0'=>'v2', 'v3.0'=>'v3', ); public function getNameSpace() { $str=$_SERVER['HTTP_ACCEPT']; $str=str_replace(';','&',$str); parse_str($str,$array); $version=$array['version']; if(in_array($version,$this->NameSpaceMap)){ return $this->NameSpaceMap[$version];; } reset($this->NameSpaceMap); return current($this->NameSpaceMap); }然后路由里面定义命名空间Route::group(['namespace'=>Route::getNameSpace()],function(){ ... }); 控制层目录这样放最后的效果(ps:懒得写控制器了,命名空间对就好)国外laravel api 案例 https://github.com/dingo/api
2016年04月13日
2 阅读
0 评论
0 点赞
2016-03-31
php 字符转实体
<?php echo html_entity_decode(str);//字符转实体 ?>
2016年03月31日
1 阅读
0 评论
0 点赞
2016-02-18
laravel事务处理
DB::transaction(function() { DB::table('users')->update(['votes' => 1]); DB::table('posts')->delete(); }); //在 transaction 闭包若抛出任何异常会导致事务自动回滚 或者 DB::beginTransaction(); if($user->save()){ DB::commit();//如果处理成功,通过 commit 的方法提交事务 }else{ DB::rollback();//如果处理失败,通过 rollback 的方法回滚事务 }
2016年02月18日
1 阅读
0 评论
0 点赞
2016-01-22
非常简单的Laravel安装
安装方法是非常简单的,而且不会出错。1.到官网下载5.0版本。地址:http://www.golaravel.com/download/2.解压laravel-v5.0.22.zipl得到aravel-v5.0.22,把laravel-v5.0.22 改成你的项目名字LaravelBaseDemo。3.把项目放在本地服务器网站根目录里面。4.设置权限(如果是windows可以跳过此步骤,mac与linux需要设置权限)。cd LaravelBaseDemo chmod -R 777 storage* #5.0和5.1 如果是4.X 应该是 chmod -R 777 app/storage* composer dump-autoload #4.X必须安装composer 5.直接访问 http://127.0.0.1/LaravelBaseDemo/public/
2016年01月22日
4 阅读
0 评论
0 点赞
1
2
3