草庐IT

基本指令

全部标签

php - Yii 基本概念 : Where is $this defined?

我正在查看YiiFramework关于博客应用程序的教程。我正在理解过程中,但我不理解一个主要组件:它位于特定.phpview文件的开头。breadcrumbs=array('ManagePosts',);?>我只想知道$this是从哪里来的。据我了解,$this只有在类的范围内才能使用。但是,我看到这里没有实现任何类,所以谁能告诉我Yii是如何为我做这件事的? 最佳答案 $this这里指的是当前Controller类。如果您在components/Controller.php中看到Controller,您还会看到$breadCru

php - 基本身份验证重定向 url 修改后

我有一个使用Yii框架制作的网站。我已将HTTP身份验证(基本)用于用户登录目的。它工作正常。并在身份验证后重定向到用户配置文件,但在www部分https之后的url被附加。例如。https://wwwhttps.example.com/directory/我也尝试使用.htaccess删除https部分,但没有成功。这是我的.htaccess配置:#Options+FollowSymLinksIndexIgnore*/*RewriteEngineon#ifadirectoryorafileexists,useitdirectlyRewriteCond%{REQUEST_FILENAM

php - OO PHP 基本获取和设置方法 "Undefined variable"

我一直在阅读OOPHP编程和封装,但我仍然觉得它有点令人困惑。我有这个代码:classItem{private$id;private$description;publicfunction__construct($id){$this->id=$id;}publicfunctiongetDescription(){return$this->$description;}publicfunctionsetDescription($description){$this->description=$description;}}在我的testclass.php文件中,当我像这样使用set和get描述

忽略不在第一个/基本数组中的键值的 PHP array_merge

这个问题在这里已经有了答案:Howtomergetwoarraysbytakingoveronlyvaluesfromthesecondarraythathasthesamekeysasthefirstone?(3个答案)关闭8个月前。我想知道是否有一个函数可以合并两个或多个数组,但会忽略第一个/基本数组中不包含的任何键值。这是我正在对当前结果和正在寻找的结果进行处理的简单示例。1,'b'=>2);$array2=array('b'=>3,'c'=>4);$result=array_merge($array1,$array2);//currentresult//$result=arra

php - 为什么我的基本 php 类在实例化时需要一个参数?

我的类(class)(123);?>这有效,但会返回此警告:Warning:Missingargument1formyClass::myClass()我读到这个,似乎构造函数需要一个值,所以通过添加:functionmyClass($input='')警告已删除,但这似乎没有必要?有人能告诉我为什么需要定义一个值来防止该警告吗?感谢指点 最佳答案 您正在使用与类同名的方法(对象中的函数称为方法)。那就是所谓的构造函数,它在OOP中有特殊的含义。构造函数从不单独调用,而是在初始化对象时自动调用的方法。该方法具有的任何参数,您都可以附加

php - 关于 CodeIgniter URL 的基本问题

当我在CodeIgniter中创建Controller时,例如“login.php”。我在其中创建了一个公共(public)函数“index”,并在该函数中加载了一个View“login_form”,CodeIgniter生成了urllocalhost/test/login。现在,如果我在同一个Controller中创建另一个函数“register”,url将是localhost/test/login/register,但我想创建类似localhost/test的url/注册。我是否需要创建一个新的Controller寄存器并在其中创建索引函数,或者可以通过在登录Controller中

php - Laravel:从公共(public)静态函数访问类变量(基本的 oop 问题)

编辑与此同时,这个问题被访问了几次。只是为了分享我在stackoverflow和其他资源的帮助下学到的知识,我不建议使用我要求的技术。一种更简洁的方法是在Controller中附加一个包含数据库文本的变量:$txt=Model::find(1);returnview('name',array('text'=>$txt->content);现在您可以像这样访问View中的文本{{$text??'Default'}}但是,如果您目前还忙于基本的oop和/或mvc架构,请继续阅读。也许它有帮助:-)原始问题我试图输出一些从数据库加载的文本。这是我的设置:查看:{{ContentControl

php - Zend Studio IDE 中 "Assignment in condition"警告背后的基本原理是什么?

给定:if($variable=get_variable('variable')){//...}*$variable=get_variable('variable')*在ZendStudio中抛出“条件赋值”警告。我明白警告的意思,但有谁知道它背后的理由是什么?仅仅是编码约定、可读性等问题吗? 最佳答案 这是大多数允许此构造的语言中的IDE/编译器发出的非常常见的警告:因为=(赋值)和==(比较)非常相似,并且比较在if语句中更为常见,警告只是为了让您知道您可能在真正想要比较的地方错误地进行了赋值。

PHPUnit、Selenium 基本测试失败并出现 fatal error

我正在运行PHP5.3.6和来自Github的最新版本的PHPUnit。当我从文档中复制示例17.1时,它会在assertTitle失败时遇到fatalerror。我收到此错误消息:Fatalerror:CalltoamemberfunctiontoString()onanon-objectin/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestCase.phponline1041当我将断言更改为通过时,PHPUnit运行正常。我找到了这条线,这是片段:protectedfunctiononNotSuccessfulTest

javascript - Angular Directive(指令) - 要求包含?

我在下面收到一个错误,我不明白为什么。有什么想法吗?html,LoadDirectiveFormAngular,app.directive('myForm',function(){return{replace:true,controller:function($scope){$scope.isLoaded=false;$scope.loadForm=function(){$scope.isLoaded=true;}},template:'',link:function(scope,element){}}});错误,Error:[$compile:multidir]Multipledir