删除除了master外的本地分支
git branch | grep -v "master" | xargs git branch -D
删除除了master外的本地分支
git branch | grep -v "master" | xargs git branch -D
删除除了master外的本地分支
git branch | grep -v "master" | xargs git branch -D
删除除了master外的本地分支
git branch | grep -v "master" | xargs git branch -D
Laravel
拥有非常好的异常处理机制,所有的异常都会经过 App\Exceptions\Handler
的 report
方法进行处理( 查看详情 )。
然而我所见过大部分公司或者组织,都没有很好的查看日志习惯,以至于有可能有一堆错误日志或者影响用户体验的地方却没有发现。
你可以选择邮件通知你的网站异常
public function report(Exception $exception)
{
// 你也可以选择短信通知,土豪随意
Sms::send($phone, [$exception]);
// 比较传统的通知方式
Mail::to($request->user())->send(new ExceptionNotify($exception));
return parent::report($exception);
}
Speedy是基于 vue2 + bootstrap 的 laravel 管理后台,能够快速开发好一个权限后台,而且能够非常方便的生成一级或者二级菜单。
项目地址: https://github.com/HanSon/speedy
欢迎前来 star 以及提 issue !
composer require hanson/speedy
最近做项目掉进一个深坑,以至于一个小问题烦恼我两天以至于怀疑人生。
新项目需要连接两个mysql数据库,然而却出现无论如何也查询不了第二个数据库的情况。
经历了多次断点调试,google无止境搜索,询问印度阿三无果的情况下,也只能查看源码解决问题了。
最终发现在laravel的ConnectionFactory类的createConnection方法中有这么一段
protected function createConnection($driver, $connection, $database, $prefix = '', array $config = [])
{
if ($this->container->bound($key = "db.connection.{$driver}")) {
return $this->container->make($key, [$connection, $database, $prefix, $config]);
}
switch ($driver) {
case 'mysql':
return new MySqlConnection($connection, $database, $prefix, $config);
case 'pgsql':
return new PostgresConnection($connection, $database, $prefix, $config);
case 'sqlite':
return new SQLiteConnection($connection, $database, $prefix, $config);
case 'sqlsrv':
return new SqlServerConnection($connection, $database, $prefix, $config);
}
throw new InvalidArgumentException("Unsupported driver [$driver]");
}
$this->container->bound($key = "db.connection.{$driver}")
通过driver去跟容器做了绑定,也就是当你有第二个一样driver的数据库时,调用 $this->container->make()
方法也会同样返回第一个绑定的 connection
,这样无论如何也只能查询第一个了。
修改后
if ($this->container->bound($key = "db.connection.{$driver}.{$config['name']}")) {
return $this->container->make($key, [$connection, $database, $prefix, $config]);
}
通过传入connection
自定义的名称,能够避免重复
只可惜我提PR时对方表示5.3不作bug修复,很诧异。。。
最近做项目掉进一个深坑,以至于一个小问题烦恼我两天以至于怀疑人生。
新项目需要连接两个mysql数据库,然而却出现无论如何也查询不了第二个数据库的情况。
经历了多次断点调试,google无止境搜索,询问印度阿三无果的情况下,也只能查看源码解决问题了。
最终发现在laravel的ConnectionFactory类的createConnection方法中有这么一段
protected function createConnection($driver, $connection, $database, $prefix = '', array $config = [])
{
if ($this->container->bound($key = "db.connection.{$driver}")) {
return $this->container->make($key, [$connection, $database, $prefix, $config]);
}
switch ($driver) {
case 'mysql':
return new MySqlConnection($connection, $database, $prefix, $config);
case 'pgsql':
return new PostgresConnection($connection, $database, $prefix, $config);
case 'sqlite':
return new SQLiteConnection($connection, $database, $prefix, $config);
case 'sqlsrv':
return new SqlServerConnection($connection, $database, $prefix, $config);
}
throw new InvalidArgumentException("Unsupported driver [$driver]");
}
$this->container->bound($key = "db.connection.{$driver}")
通过driver去跟容器做了绑定,也就是当你有第二个一样driver的数据库时,调用 $this->container->make()
方法也会同样返回第一个绑定的 connection
,这样无论如何也只能查询第一个了。
修改后
if ($this->container->bound($key = "db.connection.{$driver}.{$config['name']}")) {
return $this->container->make($key, [$connection, $database, $prefix, $config]);
}
通过传入connection
自定义的名称,能够避免重复
只可惜我提PR时对方表示5.3不作bug修复,很诧异。。。