草庐IT

应不应该

全部标签

php - 您应该在 Controller 中还是在 MVC 框架的模型中处理 session 数据?

我正在使用MVC框架(特别是PHP的CodeIgniter)。我试图尽可能地遵循“最佳实践”,但我对MVC没有太多经验。从Controller内的session中检索数据对我来说是不好的做法吗?我应该“询问”模型,比如说,特定的session值是“foo”还是“bar”,或者我应该直接在Controller内部这样做吗?我认为我应该在模型内部执行此操作,因为session数据在技术上是数据,但我只是想确定一下。明确地说,我根本没有将session数据存储在数据库中,所以我没有运行查询。 最佳答案 模型通常处理持久保存到某种长期存储的

php - 异常类应该有多具体?

通常我尽量避免抛出Exception实例,因为这并不能传达太多关于错误原因的信息。但我发现我得到了相当多的空异常类,它们看起来像这样......classDataNotFoundExceptionextendsException{//justataggingclass}因此在功能上该类与Exception相同。唯一的功能意义是我现在可以做到这一点......try{...somecodewhichthrowsexceptions...}catch(DataNotFoundException$dnfe){...dostuff...}catch(OtherException$oe){...

PHP similar_text() 和 in_array() 没有像他们应该的那样工作

我正在尝试使用similar_text()和in_array()在PHP中制作一个简单的拼写检查和建议程序。我有一个文本文件dictionary.txt,其中包含英语中的大部分单词。首先,我将文本文件中的所有单词都换行放入一个数组中。然后在用户输入和提交时,我使用in_array()检查他们输入的单词是否在数组中。如果是,那么他们拼写正确。如果不是,则我使用similar_text()在数组中查找与拼写错误的单词接近的单词。我遇到了两个无法解决的问题,我相信我正在根据PHP文档正确使用in_array()和similar_text().第一个问题是,当用户键入并提交文本文件中应该也应该

php - 我应该阻止 HTTP 1.0 请求吗?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭8年前。Improvethisquestion我在我的网站中使用$_SERVER['HTTP_HOST']作为绝对URL路径。但是,我经常会发现带有未定义HTTP_HOST的HTTP/1.0请求的nginx错误日志。是否建议阻止这些请求?阻止它们的最佳方法是什么?

php - PHAR createDefaultStub 是否应该区分 CLI 和浏览器?

我的问题是关于createDefaultStub的$indexfile和$webindexfile。我的理解是,如果请求来自cli,$indexfile将被提供,而$webindexfile将被浏览器请求提供。我从任一来源得到相同的响应(“后端”),我是否误解了这种行为?还是我的实现有误?谢谢!目录树:PHAR+--app+--backend+--index.php//prints'backend'+--frontend+--index.php//prints'frontend'+--build//destinationforPHAR+--build.php+--index.php/b

php - 我应该将 isset() 与 ctype_* 一起使用吗?

如果我输入会更好吗:if(ctype_alnum($x))echotrue;代替if(isset($x)&&ctype_alnum($x))echotrue;?我知道ctype_*发现NULL和空字符串值作为false,如果它不会给出错误消息>$x不存在,但这是否意味着我不应该对它使用isset()?或者我只是使用isset()以防将来的PHP更新改变了ctype_*处理NULL的方式>和空字符串值? 最佳答案 当$x未定义且通知开启时,它会抛出$x未定义的通知。即使它们已关闭,一个好的做法是在使用前检查它。结果:Notice:Un

php - 记录 PHP,如果我扩展一个类,我应该复制/粘贴吗?

我有一个带有方法的PHP类。在基类中(它更像是一个原型(prototype),但我没有使用原型(prototype),因为我们必须向后兼容),我记录了方法的参数和描述。现在我扩展那个类。在这个新方法(实现)中,我应该重新记录参数和描述,我应该将其留空,还是应该只留下适用于该特定实现的相关注释?我的目标是让PhpDoc生成可读的API文档,并遵守约定。 最佳答案 PhpDocumentor将向您展示所记录的方法是否是父类中方法的重新定义,以及该方法是否在子类中被覆盖。因此,除了您放入方法的文档block中的所有信息之外,您还将看到与当

php - Kohana v3.1.0 ORM _ignored_columns -- 现在它不见了,我应该怎么做?

似乎在Kohana的ORMv3.1.0中,_ignored_columns属性已被删除。处理不在数据库中的字段的推荐技术是什么?我现在遇到的情况是password_confirm,其中password是一个字段,但我们要求用户输入两次密码。 最佳答案 您可以传递一个额外的验证对象来保存、创建和更新。所以你的例子看起来像:/***Passwordvalidationforplainpasswords.**@paramarray$values*@returnValidation*/publicstaticfunctionget_pass

php - 将我的 Yii 项目置于版本控制之下时,我应该忽略哪些文件和目录?

使用YiiPHPframework与Mercurial作为版本控制。在将我的Yiiwebapp项目置于版本控制之下时,我应该忽略哪些文件和目录(即在.hgignore中放入什么)? 最佳答案 Oneoftheexamples(forGit,butyoucanadaptittoMercurial)建议忽略:swp–VIM交换文件.buildpath,.project,.settings–Eclipse生成的文件和文件夹.idea–JetBrainsPhpStorm生成的文件夹assets/*–assets下的所有内容都由Yii在运行时

php - 我应该在 admin 和 api 之间重复使用 laravel 中的 Controller 吗?或者让我的管理员使用我的 API?

laravel的新手,正在尝试找出构建我的应用程序的最佳方式。它同时具有管理界面和API(JSON、angularjs前端)。我的路线目前是这样的:Route::group(array('prefix'=>'admin','before'=>'auth.admin'),function(){Route::any('/',array('as'=>'admin.index',function(){returnView::make('admin.index');}));Route::resource('countries.products','ProductsController');Rou