首页   注册   登录
 doyouhaobaby 最近的时间轴更新

doyouhaobaby

V2EX 第 18444 号会员,加入于 2012-03-20 17:06:03 +08:00
doyouhaobaby 最近回复了
@Donne 文档还没有准备,暂时单元测试即文档,编写 2700 例单元测试,8000 个断言,后面后把文档整理一下。
@Donne 我在 2010 - 2014 开发一个框架 DoYouHaoBaby,这个是在哪个框架上重新重构,老框架留下了不少组件,甚至包含模板引擎,于是保留了下来。也依赖了很多 composer 包,重构了 2 年,自己的组件也有很多。

"php": "^7.1.3",
"ext-mbstring": "*",
"ext-openssl": "*",
"symfony/console": "~4.0",
"symfony/var-dumper": "~4.0",
"symfony/process": "~4.0",
"symfony/finder": "~4.0",
"clio/clio": "@stable",
"robmorgan/phinx": "^0.9.2",
"vlucas/phpdotenv": "~2.2",
"nesbot/carbon": "~1.20",
"league/flysystem": "^1.0.8",
"monolog/monolog": "^1.23",
"swiftmailer/swiftmailer": "6.0.2",
"nunomaduro/collision": "~2.0",
"twig/twig": "~2.0",
"gettext/gettext": "^4.6.0",
"fzaninotto/faker": "^1.6",
"zircote/swagger-php": "^3.0.1",
"maximebf/debugbar": "~1.15.0"
@server 我也选择 golang,我研究了一段时间了 gin,哈哈
@JaguarJack 不同的场景适应不同框架,轮子不是很多,遇到了才看看,golang 才叫轮子多。
新的项目出来,感兴趣就看看,不感兴趣的就忽略,大部分项目都会与我们生活插肩而过。
国内开源项目普遍工程化不如欧美的,我也看了不少 swoole 的轮子,很多连基本的单元没有怎么能稳定。
谢谢指正。
这种设计有缺陷,很容易采坑的,TP3 在公司中用的时候自动过滤,比如字段单词拼写错误造成了很多隐晦的 bug,代码太依赖数据库了,我现在基本放弃这种写法了。把字段放到 model 层或者实体,用 getter setter 来做比较好,字段校验不依赖数据库。

```
<?php

declare(strict_types=1);

/*
* This file is part of the ************************ package.
* _____________ _______________
* ______/ \__ _____ ____ ______ / /_ _________
* ____/ __ / / / / _ \/ __`\/ / __ \/ __ \/ __ \___
* __/ / / / /_/ / __/ / \ / /_/ / / / / /_/ /__
* \_\ \_/\____/\___/_/ / / .___/_/ /_/ .___/
* \_\ /_/_/ /_/
*
* The PHP Framework For Code Poem As Free As Wind. <Query Yet Simple>
* (c) 2010-2018 http://queryphp.com All rights reserved.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace Tests\Database\Ddd\Entity\Relation;

use Leevel\Database\Ddd\Entity;

/**
* post.
*
* @author Xiangmin Liu <635750556@qq.com>
*
* @since 2018.10.13
*
* @version 1.0
*/
class Post extends Entity
{
const TABLE = 'post';

const ID = 'id';

const AUTO = 'id';

const STRUCT = [
'id' => [
'readonly' => true,
],
'title' => [],
'user_id' => [],
'summary' => [],
'create_at' => [],
'delete_at' => [],
'user' => [
self::BELONGS_TO => User::class,
'source_key' => 'user_id',
'target_key' => 'id',
],
'comment' => [
self::HAS_MANY => Comment::class,
'source_key' => 'id',
'target_key' => 'post_id',
self::SCOPE => 'comment',
],
'post_content' => [
self::HAS_ONE => PostContent::class,
'source_key' => 'id',
'target_key' => 'post_id',
],
];

const DELETE_AT = 'delete_at';

private $id;

private $title;

private $userId;

private $summary;

private $createAt;

private $deleteAt;

private $user;

private $comment;

private $postContent;

public function setter(string $prop, $value)
{
$this->{$this->prop($prop)} = $value;

return $this;
}

public function getter(string $prop)
{
return $this->{$this->prop($prop)};
}

public function scopeComment($select)
{
$select->where('id', '>', 4);
}

public function scopeTest($select)
{
$select->where('id', '>', 4);
}

public function scopeTest2($select)
{
$select->where('id', '<', 10);
}

public function scopeTest3($select)
{
$select->where('id', 5);
}
}
```

https://github.com/hunzhiwange/framework/blob/master/tests/Database/Ddd/Entity/Relation/Post.php
18 天前
回复了 Zhiyicx 创建的主题 PHP 社交系统 ThinkSNSPlus V2.0 更新播报
好,非常棒的产品
star
51 天前
回复了 pwstrick 创建的主题 程序员 大家在开发的时候都会写单元测试吗?
提高代码质量,微重构必须,梳理思路
https://github.com/hunzhiwange/framework/tree/master/tests
@linxl 需求分析完,都是后端先写文档,然后一起讨论是否合理,然后 easymock 基于生成的 swagger json 来生成 mock 数据,前端分开做,最后一起联调。实际上写文档是必须的,复制粘贴改改就行。
时间比较仓促,睡觉,明天要搬砖。
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1987 人在线   最高记录 3821   ·  
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 12ms · UTC 10:48 · PVG 18:48 · LAX 02:48 · JFK 05:48
♥ Do have faith in what you're doing.
沪ICP备16043287号-1