V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  jqh  ›  全部回复第 10 页 / 共 11 页
回复总数  220
1 ... 2  3  4  5  6  7  8  9  10  11  
❮ ❯
2020 年 7 月 17 日
回复了 binggg 创建的主题 › 程序员 › 看看有没有获得 Github 「北极开源贡献者」 称号
获得了,这是啥东西来的

https://github.com/jqhph
2020 年 7 月 17 日
回复了 coocier 创建的主题 › 程序员 › 如果我多一点诚意,你是否愿意加入我
@xingshu1990 现在这个是大饼都懒得画了
2020 年 7 月 3 日
回复了 Evilk 创建的主题 › PHP › PHP 7 - swoft 2.x
@Evilk 你哪看到有很多人用 swoft 了?我在 swoft 群几年了,基本没人聊过 swoft 。laravel 还好啦,开了 opcache 其实没有你想象中的慢,主要还是用的爽
2020 年 7 月 3 日
回复了 Evilk 创建的主题 › PHP › PHP 7 - swoft 2.x
我是 swoft 1.0 的早期用户,还给 swoft 开发过数个扩展 https://github.com/jqhph/swoft-admin,总体使用下来 emmmmmm,只能说框架还是选成熟点的好,谨慎选择~
2020 年 7 月 3 日
回复了 Evilk 创建的主题 › PHP › PHP 7 - swoft 2.x
swoft 可能不会有 3 了,laravel 不香吗~
@skyrem 哈哈哈,欢迎入坑,你会发现 laravel 好用的轮子非常非常多
@wslsq 好用的功能会跟上,2.0 就是插件系统大改版了
@puzzle9 哪个激进的配色....我都忘了
@justfan 你是想说前后端分离是吧,关于这个问题请参考这里面的回复,这里就不赘述了 https://github.com/jqhph/dcat-admin/issues/27
@guogb 感谢支持,这个项目基于 laravel-admin 做了很多优化,后面也会根据用户的建议反馈不断优化,如果有什么建议可以直接提 issue 我有空都会回复。
@ifconfig 感谢支持
@myCupOfTea 哈哈哈不是 meterial design,咱也不是设计师不太懂,UI 的设计参考了 vuexy
@july1115 感谢支持
在线演示站点被不知名网友攻击了暂时访问不了,见谅,正在搭建备用环境
@saltbo 我就是其中一个不赞同楼主对自己项目总结的那些所谓的“优势”的,事实上楼主所谓的那些“优势”,在我看来就是缺点。


@dvaknheo 前面的老哥都说得很对,你想要火,得切实地能解决用户的痛点,你现在能说清楚你这个项目的适用人群吗?

三年时间,就出来个这么点功能的东西,连文档都写不明白,谁敢用?开源产品,不是有个基本框架就完事的,方方面面的细节更要做到位,那些能火的项目,无一例外各项细节上都是很完备的。


thinkphp 和 CI 这种只是因为在国内早期市场空白期出现,才能占领市场,现在写这种框架出一个死一个。原因很简单,同类型更优秀的产品太多了。

而 laravel 为什么能火?为什么 laravel 的高质量的第三方扩展包数量能碾压其他框架?为什么大家愿意给 laravel 贡献扩展?这个原因不值得你深思吗?建议楼主多深入学习下其他优秀的开源项目,而不是浅尝而止就轻易下定论,总的来说,我看了你的部分代码以及你的几个帖子的言论,对你自身的水平表示怀疑,打铁还需自身硬,没有过硬的产品想火是不切实际的。
@Xusually 有内置的用户以及权限系统,你可以在内置的基础上做调整,也可以完全不用内置的用户系统。
2020 年 5 月 17 日
回复了 dvaknheo 创建的主题 › PHP › DuckPhp 1.2.4 发布,终极架构,文档完善了
return $this->error($vaptcha->getError());
return $this->validationErrorsResponse($validator);
return $this->sendLoginResponse($request);
return $this->validationErrorsResponse([$this->username() => $this->getFailedLoginMessage(),]);

这些只是响应数据的方法,没必要展示出来而已。

而你这些 service 只是业务代码的结构约定划分,跟框架没有半毛钱关系,我如果愿意也可以这样划分。而你这个 sessionservice 就是画蛇添足,使用了 laravel auth,业务层根本不必关心登陆验证是要使用 session 还是 token,这些根本不必跟业务代码耦合。
2020 年 5 月 17 日
回复了 dvaknheo 创建的主题 › PHP › DuckPhp 1.2.4 发布,终极架构,文档完善了
@dvaknheo 你暴露了,就凭你不知道 guard 和 attempt 方法还说自己弄懂了 laravel auth....,guard 和 attempt 就是 auth 的组成部分。
2020 年 5 月 17 日
回复了 dvaknheo 创建的主题 › PHP › DuckPhp 1.2.4 发布,终极架构,文档完善了
@dvaknheo

```php
public function postLogin(Request $request)
{
$vaptcha = Vaptcha::make();

// 验证验证码是否正确
if (! $vaptcha->validate()) {
// 验证不通过,返回错误提示信息到前端
return $this->error($vaptcha->getError());
}

$credentials = $request->only([$this->username(), 'password']);
$remember = (bool) $request->input('remember', false);

// 验证参数
$validator = Validator::make($credentials, [
$this->username() => 'required',
'password' => 'required',
]);

if ($validator->fails()) {
return $this->validationErrorsResponse($validator);
}

// 登陆并返回成功信息
if ($this->guard()->attempt($credentials, $remember)) {
return $this->sendLoginResponse($request);
}

// 返回失败信息
return $this->validationErrorsResponse([
$this->username() => $this->getFailedLoginMessage(),
]);
}
```

这里我截取一段使用 laravel auth 实现的登陆功能,换成你的说法,就是你口中“应用工程师”该写业务代码,多简洁易懂,这代码不好维护吗?跟业务无关吗?

而其中$this->guard()->attempt 这样的 auth 底层实现,就是你口中“核心工程师”写的登陆的轮子,框架内置的轮子不比大部分“核心”工程师写的优质、好用许多吗?

laravel 这样设计的更强大之处在于,“应用工程师”甚至不必关心登陆验证的数据存储细节,例如你是想使用 session 登陆、还是 auth2.0 登陆、还是缓存 token 之类的等等,都可以通过配置文件和中间件随意切换,不需要改动一行业务代码,这不是更简单了吗?而登陆到底是要用 session 还是 auth2,这个可以交给“核心工程师”去实现。

而且不仅如此,laravel 的几乎所有组件都是这样的模式,系统把大部分功能都抽象成了一个统一的简单易用的功能接口,“应用工程师”写业务代码并不需要关心这些功能的具体实现,只需要简单的调用数行代码就行,可以把专注点放在业务上,而这些底层组件可以采用第三方扩展包也可以由“核心工程师”自己编写,然后通过配置文件切换而不用影响业务代码。

你所考虑的,laravel 早就想到了。
2020 年 5 月 17 日
回复了 dvaknheo 创建的主题 › PHP › DuckPhp 1.2.4 发布,终极架构,文档完善了
@dvaknheo

不是说核心工程师造轮子,是核心工程师调轮子。应用工程师一个 DuckPhp 命名空间的东西也用不到。
DuckPhp 用 phpstan 检查过规范,phpunit 单元覆盖测试 100% 。
--------------------------------------------------------
“应用工程师一个 DuckPhp 命名空间的东西也用不到”,你这句话翻译一下就是:这个框架基本什么基础功能都不提供。

那你让“核心工程师”调什么?你有提供 HTTP 请求和响应处理功能有吗?配置文件功能有吗?文件处理功能有吗?缓存工具有吗?参数表单验证工具有吗?还有更多基础功能你都没有,那你怎么让“核心工程师”不造轮子?

最终的结果就是各种所谓的“核心工程师”拿到你的框架就是群魔乱舞各种瞎写,最后出来的就是惨不忍睹、很难维护的糟糕代码,这也是很多所谓自研框架公司的现状。


+ blade 模板 违背了 PHP 代码就是视图的原则
+ 滥用 ArrayIterator foreach, 使得没法 dump
+ orm 使得调试更麻烦了
+ 退化到路由表了。有简单的文件路由不用。
+ 中间件使得调用关系复杂化。
--------------------------------------------------------
PHP 代码是视图的原则??这都 2020 年了,您还崇尚 HTML 和 PHP 混编呢?这写出来的代码能维护?大清早就灭亡了亲;
orm 使得调试更麻烦了,laravel 提供了多种方式可以让 ORM 转化成 sql 调试,调试虽然麻烦了一点,但 ORM 带来的便利程度远远大于麻烦程度;
退化到路由表了。有简单的文件路由不用,中间件使得调用关系复杂化,从这个描述就说明,你根本没理解 laravel 路由和中间件的好用之处。

中间件最大的好处就是能把各种与业务无直接关联的代码抽象出来,放在中间件里面,每个业务控制器 action 就可以通过配置轻松增减、切换各种不同的中间件,而不需要改动业务的一行代码。比如日志收集、登陆验证、接口权限判断等等,我甚至可以实现各种逻辑不同的登陆中间件,随意切换,如果你把这些跟业务无关的代码放在控制器中,那最终只会造成你代码杂乱、臃肿和难以维护。
那么 laravel 的路由结合中间件的配置,简直不要太好用,我可以轻松给各种路由进行分组;尤其是方便了开发者写扩展包,可以以最大的自由度定义扩展包路由,以及其实用的中间件,简直太牛逼了。其他的大部分框架,都没有这么好用的路由,也难怪 laravel 的生态如此强大,可以说 laravel 的高质量的第三包扩展包的数量可以吊打任何一款 PHP 框架。

可见一个成熟的设计是多么重要,细节和生态才是一个框架的根本。laravel 的方方面面的设计,其实都是兼顾了普通开发者和第三方扩展包开发者的需求的,但很可惜,很多人并不理解其中的意义。

而楼主说的中间件使得调用关系复杂化,这完全可以说是你的水平不够,中间件的配置入口就是公共配置和路由配置两种,能复杂到哪去?堆栈调用复杂?我宁愿看多几十行堆栈调用,也不愿写业务代码和与业务无关代码混杂在一起像乱麻一样的代码。


之前在我本机弄了 laravel 自带的 auth 的版本,发现 laravel auth 连我都没能弄清楚,怎么可能会有国内项目用他那套做验证
--------------------------------------------------------
你这个把我看笑了,你是看不起其他程序员,还是太看得起自己?? laravel auth 你都整不明白,还好意思大言不惭说这个不行那个不行?建议楼主保持谦逊的态度,对不懂的东西不要乱评判,看了楼主的发帖纪录,就是一直在评判自己没搞懂的东西
1 ... 2  3  4  5  6  7  8  9  10  11  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   854 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 20:41 · PVG 04:41 · LAX 13:41 · JFK 16:41
♥ Do have faith in what you're doing.