zhuzhichao

朱智超
第 161 位会员
注册于 2014-09-04 14:00:30
活跃于 2017-01-21 14:02:38


Lalala Demacian !
专栏文章
没有任何数据~~
最近话题
最新评论
  • [Laravel 5.4] 新增 3 个全局中间件 at 2017-01-18 11:52:06

    字体是 Fira Code ,Fira Code 一个程序员专供的字体 ,并开启了 ligatures

    左侧显示的是 Git 的提交信息,在行号出右键呼出。

    file

  • [Laravel 5.4] 新增 3 个全局中间件 at 2017-01-18 11:48:02

    我个人猜测,是因为 Taylor 用了 Vue 之后,经常会将一个对象或者一批对象返回给 Vue ,Vue 处理之后直接给提交后端,如果没有数据处理简直是噩梦(对于类型严格要求,并且经常有的是 null 之类的 get 请求等等)。

    期待 5.4 。 :sunglasses:

  • [Laravel 5.4] 新增 3 个全局中间件 at 2017-01-18 11:43:30

    在我的项目里面还真有个 TransformRequest.php 中间件处理这类事情呢。:grin:

    file

  • Laravel Schema 起始 id 问题 at 2017-01-17 17:24:44

    @随風飞揚 可以这样获得数据库前缀 config('database.connections.mysql.prefix') ,然后你拼装自己的 sql 语句即可。 :swimmer:

  • 类似 Laravel 框架这样显式路由的写法真的好吗? at 2017-01-17 17:14:30

    @MrJing 中间件写到 controller 的 __construct 里面,通过 request()->getfullurl() 的返回值判断使用什么中间件。这样,就可以按照自己的方式随意写的。只不过,和 laravel 提倡的方式越来越远而已了。:swimmer:

  • Laravel 软删除 at 2017-01-17 17:07:08

    @吾挚 不要设置为 Int 。为什么? 看这里 https://laravel-china.org/topics/2495

    如果真的要设置,我在两年前写了一篇 Laravel timestamps 设置为unix时间戳 ,不知道还管用不了

    没有特殊原因,一般没人用 Int 时间了 :swimmer:

  • 关于数据库中一些数字字段定义的思考 at 2017-01-17 17:00:59

    分享一下我这边的开发方式。

    说实话, Repository 用起来还是很繁琐的,并且新人学习 laravel 成本本来都高。我这边使用了这样的方式,

    例如下面是一个用户模型:

    class User extends BaseModel implements AuthenticatableContract, AuthorizableContract, CanResetPasswordContract
    {
    
        use Authenticatable, Authorizable, CanResetPassword;
    // 关联关系
        use UserRelationship;
    // 和 User 相关的数据仓库
        use UserRepository;
    // 用户角色和权限
        use UserAccessRepository;
    // Set 和 Get
        use UserAttribute;
    // 搜索专供
        use UserScope;
    // 权限(通用的,其他模型也可能需要的)
        use PermissibleTrait;
    
        use SoftDeletes;
        use LogAbleTrait;
    
        const GENDER_FEMALE = '女';
        const GENDER_MALE = '男';
    
        const STATUS_VAILD = '正常';
        const STATUS_TURNOVER = '离职';
        const STATUS_LOCK = '锁定';
        const STATUS_UNVERIFY = '待审核';
        const STATUS_INVAILD = '失效';
    
        protected $fillable = [
            'address',
            // 很多其他的字段,不列出来了
        ];
    
        protected $casts = [
            'approval_status' => 'boolean',
            'scores_info'     => 'json',
        ];
    
        protected $dates = [
            'approved_at',
            'deleted_at',
            'worked_at',
            'birthday',
        ];
    
        protected $hidden = [
            'password',
            'permissions',
            'remember_token',
        ];
    
        protected $appends = [];
    
        protected $loads = [
            'company',
            // 还有其他的关联
        ];
    
        protected $indexs = [
            '*'
        ];
    }

    目录的结构如下

    file

    可以看到,模型文件里面主要都是配置类信息,所有的业务逻辑、搜索、更改器、关联等等都拆分到了 trait ,这样保证每个文件不会过于长,过于复杂,提高了可读性,并且新手也可以使用。这里的 Repository 我称之为 小数据仓库,至于你们说的那种可以换 model 的 大仓库 我觉得真实情况下很少用到。如果真的需要了,再改,也不难 :smile: 。

    这样的话,带新人很容易,看懂官方文档,项目里面代码写到合适的地方。间接的实现了代码的分离(其实还是在一起),和一定的可读性。

    不要过度设计 -- Jobs

  • 信息被删除或无权限查看
  • 信息被删除或无权限查看
  • 写在 Laravel China 社区正式突破 10000 用户之际 at 2017-01-17 16:30:35

    太棒了!Laravel 威武 :swimmer:

  • Laravel 性能问题始终难以释怀,求指点 at 2017-01-07 20:09:18

    以下两点我要指出。

    1. 不要轻易、任性、随意添加各种各样的 package ,特别是需要添加 provicder 的那种,捡最需要的来。
    2. 模型的 Observer 多的话,确实会影响框架启动速度,当前的项目有二三十个,影响10~40ms的启动速度(服务器配置不一样,影响不一样),这个没办法处理了。

    上面这两条是我的项目确实存在的问题,并且确实对哪怕一个 hello world 的简单输出也要有影响,但是很难处理掉的。

    其他的挺好的,laravel 对我们的项目的进度和开发的质量真的相比其它框架提高了很多。并且线上的 8核16G OPCache,影响不太大,项目现在有100多个表,业务密集型的应用,速度满足我们的需要,大部分页面和接口 200ms 以内。

    最后,SQL 一定要处理好,这个可能永远是你们项目性能最大的瓶颈。 :swimmer:

    laravel 开发起来挺嗨的,确实挺嗨的

  • Eloquent ORM 模型中添加自定义值 at 2017-01-04 13:07:41

    非常好的分享。方便的对数据内容进行调整更改等进行 append。

    但是要注意,绝对绝对不要在 append 里面添加一些耗时的操作或者需要资源的操作,比如数据库查询。否则无论何时,需不需要这个查询都会进行查询的。严重浪费资源。

    文中的例子建议使用 group by 进行统计操作。例子不太好,看过的人可能就会去在 append 里面添加数据库查询了 :smile:

  • 信息被删除或无权限查看
  • 如何在 Homestead 科学上网? at 2016-12-13 10:09:25

    @ucoker 使用 enhanced mode

  • 为什么 PHP 是最好的语言?现在是,将来也会是 at 2016-12-13 10:08:23

    @MrJing V8 引擎给力。

  • Laravel 使用 env 读取环境变量为 null 的问题 at 2016-12-08 23:13:21

    谢谢分享,之前没注意这个坑。明天上班开始改代码了。

  • Laravel 中一些全局性的数据 该如何共享与传递 at 2016-12-08 23:08:53

    $GLOBALS 变量。

  • Laravel 第一部中文新手书籍《Laravel 入门教程》 at 2016-12-08 22:02:35

    :+1: 支持!

  • OCR 从入门到放弃 at 2016-12-04 12:42:03

    期待如何放弃 :laughing:

  • [入门] Laravel 5.3 与 Vue 组件如何协作,轻松的完成前端的工作 at 2016-12-04 12:07:31

    @语言不能表达一切 使用 gulp --production,压缩后一般在 300k 左右。