草庐IT

bad_design

全部标签

PHP MVC : Data Mapper pattern: class design

我有一个带有域对象和数据映射器的WebMVC应用程序。数据映射器的类方法包含所有数据库查询逻辑。我试图避免镜像任何数据库结构,因此,在构建sql语句时实现最大的灵active。因此,原则上,我尽量不使用任何ORM或ActiveRecord结构/模式。举个例子:通常,我可以有一个抽象类AbstractDataMapper由所有特定数据映射器类继承-如UserDataMapper类。然后我可以在AbstractDataMapper中定义一个findById()方法,通过给定的id值,例如用户身份。但这意味着我总是从单个表中获取记录,而不可能使用任何左连接来从对应于给定id-用户id的其他一

php - 使用 salt login 的 Symfony 2 总是返回 Bad credentials

如果我使用salt来解码我的密码,登录总是返回“Badcredentials”。我正在使用Fixture创建一些测试数据:publicfunctionload(ObjectManager$manager){$encodeFactory=$this->container->get('security.encoder_factory');$user=newUser();$user->setUsername('admin');$user->setEmail('webmaster@aranox.de');$encoder=$encodeFactory->getEncoder($user);$u

php - 交响乐 2 : why injecting kernel into service is bad idea?

我需要在我的服务中获取当前的应用程序环境。我发现我可以从内核中获取它,但是很多人说注入(inject)内核是个坏主意。有人能解释一下为什么实际上它被认为是不好的做法吗?这不是比将整个容器注入(inject)我的服务更好的解决方案吗?my_app.my_not_so_great_service:class:AppBundle\Services\AppServicearguments:-"@kernel" 最佳答案 RichardMiller[0]的一篇文章解释了这个问题。其要点是,依赖于当前的应用程序环境是一种设计不当的架构的代码味道

win10在远程连接配置中出现`Bad owner or permissions on C:\\Users\\Administrator/.ssh/config` 报错

问题报错win10在远程连接配置中出现BadownerorpermissionsonC:\\Users\\Administrator/.ssh/config报错问题原因原因是由于使用Remote-SSH所依赖的Remote-SSH:EditingConfigurationFiles扩展编辑了C:\Users\Administrator.ssh\config文件后,此文件的权限发生了改变:如上图所示,编辑了%USERHOME%\.ssh\config文件后,不但在VSCode中由于配置文件权限问题而无法进行SSH远程连接,就连使用系统的PowerShell进行SSH连接时也会报此错误,而把此配置

PHP API 最佳实践 - 回显 json_encoded 对象 : bad or good?

我提前向您道歉,因为我的问题措辞有问题,但请耐心等待,我会尽量做到准确。但是,我的问题有点含糊,很难问。我最近一直在与我的一位同事讨论通过PHP从RESTfulAPI发回的响应。我们的不同之处在于我们对服务器的响应。他的论点是只对原始对象(它是数据库表中一行数据的PHP对象表示)进行json_encode。但是,我发现的问题是,例如,您只需要发回几列数据的情况。例如,假设您要返回一个对象,您只需要表中的主键、描述和名称即可。但是,该对象还具有其他用途的属性(var1、var2等)如果像这样回显:echo(json_encode($object));JSON看起来像这样:{"primar

php - "Bad"练习乘以$val * 1 将null 转换为零

我正在使用PHP5.5从数字postgresql数据库表字段中检索数值。它可以作为空值或实际数字来自数据库,无论哪种方式我都将其存储在变量中。因为我们中的一些人可能知道也可能不知道null*1=0,这是我喜欢做的事情,但我担心这是否是错误的,或者是否是将潜力转化为不好的做法将null值转换为零,而无需实际检查该值。见下文:...$字段值*=1;//假设此时它保存着DB返回的值...因此,如果数据库返回空值,则$fieldVal将变为零,任何非空值将保持不变。非常感谢您的见解。 最佳答案 更改您的查询以包含COALESCE并解决空案例

PHP7 + curl (SSL/TLS) 给出 502 Bad Gateway

我正在开发一个使用DropboxSDK来做一些事情的网页。其中大部分通过CLI发生,但必须在浏览器中完成一件事。不过,我偶然发现了一个有趣的问题。$dbxClient=newdbx\Client($accountToken,'xxx/'.VERSION);$folderMetadata=$dbxClient->getMetadataWithChildren("/");在CLI中运行这段代码效果很好。然而,在浏览器中运行它会给我一个502。困惑的我启动了xdebug并追踪了问题出现的位置。我发现是Dropbox的curl调用导致的,所以我写了一个小示例脚本来查看curl是否有效。它没有。

php - 在 PHP : OpenSSL Error messages: error: 1409F07F: SSL routines: SSL3_WRITE_PENDING: bad write retry

我正尝试在PHP中使用SSL/TLS连接发送大量数据。如果数据block不是很大或者我不使用TLS,但我需要(接近2MiB),fwrite函数会显示警告,它会很好地工作:Warning:fwrite():SSLoperationfailedwithcode1.OpenSSLErrormessages:error:1409F07F:SSLroutines:SSL3_WRITE_PENDING:badwriteretry我用来连接客户端的相关代码:$cntxt=stream_context_create(array('ssl'=>array('local_cert'=>'certifica

PHP 设计模式 : Are private constructors bad for classes that you will let others to extend?

我有一个名为ContentAbstract的抽象类,它看起来像这样abstractclassContentAbstract{protectedstatic$type;protected$id;protected$title;protected$description;protected$page;protected$section;...function__construct($id=NULL,Page$page=NULL,Section$section=NULL){if($id!=NULL){$data=get_data_from_content_table_by_id($id);i

php - Laravel 表单请求 : bad method be called

当我使用带有Post方法的表单请求时,响应是“index()”方法响应。但它必须是“store(myRequest$request)”方法。如果我从“store()”中删除myRequest$request方法,它就可以工作。我迷路了。请帮助我。我的Controller:collectionRepository=$collectionRepository;}publicfunctionindex(){return$this->run(function(){return$this->collectionRepository->all()->get();});}publicfunction