草庐IT

基本原则

全部标签

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语句中更为常见,警告只是为了让您知道您可能在真正想要比较的地方错误地进行了赋值。

php - 网页编程原则

由于有点传统(如果生疏)编程背景,我正忙于掌握网站的“无状态”特性。这是一个相当大的心态转变!我为我工作的团队创建了一个小型网站,供内部使用来跟踪我们日常工作的某些方面。该网站功能正常,我为我设法想出的东西感到非常自豪,blablabla。但是我在某处读到一些东西表明我可能以糟糕的方式完成了它。特别是,团队网站的中心页面完成了大部分工作。它会检查您来自哪里,然后“切换”以执行一些工作(在数据库中进行一些更改),然后再次呈现页面。在许多情况下,页面只是调用自身!我所做的是展示一张table。每行的最后一列是一组html表单。每个表单都有一个提交按钮,至少有一个隐藏字段。“提交”按钮具有名

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

php - Laravel - 坚实的原则

想请教一下Laravel中的SOLID原则,特别是接口(interface)隔离原则。假设我们有一个用户可以发送订单的应用程序。但是对于每个用户,我们都有不同的方式来发送订单。例如用户一-通过电子邮件发送订单。用户二-通过上传到ftp的xml发送订单。按照这种思路,我们可以在php中创建接口(interface):然后为每个特定用户实现它。但是在Laravel中,我们只有一个类User。假设用户具有用户类型的属性,我们可以从中找到sendOrder类型。在Laravel中执行此操作的最佳方法是什么?也许是一个switch/if来查找并返回正确的实现或者有更好的方法?

【C# 窗口编程】 01 基本窗口应用

一、说明        本篇是系列文章,专门介绍如何用C#上实现窗口和界面程序。值得注意的是,与VC++不同之处在于,VC是纯粹的面向对象,而C#是基于COM接口的编程方法,因此,按照VC++面向对象的MFC的思想无法理解C#,需要建立接口的概念。本篇将实现实验展示,并叙述接口思想。二、简单窗口实现2.1实现简单的窗口工程假定已经安装好VS2019,然后建立C#的窗口程序。1创建新项目 2选择C#窗口工程 3给项目起名然后进入创建窗口,点击【创建】按钮,就可以了。2.2窗口工程代码在VisualStudio中创建新表单时,设计器会在.Designer.cs文件中生成以下代码://////Req

php - CI 基本 URL 路由

例如,在Twitter中,您可以使用以下URL格式:http://twitter.com/username/“用户名”是用户的用户名。我想知道在Codeigniter中使用正确的方法。我需要相同的格式。我还有其他页面,例如用户帐户管理、关于等。我是否需要通过一个函数路由它,检查该用户是否存在,然后将其传递给另一个Controller?谢谢! 最佳答案 通过在您的application\libraries目录中放置一个MY_Router.php来扩展Router类,并使用此代码:set_directory($segments[0]);

php - 基本 __get 实现的原因

Othersimilarquestions:WhyIshoulduse__get()and__set()-magicmethodsinphp?Whendo/shouldIuse__construct(),__get(),__set(),and__call()inPHP?首先,我完全理解如何在PHP中实现__get和__set方法,并且遇到过使用这些方法有益的场景。但是,我遇到并编写了如下所示的代码:classSomeObject{protected$data=array();publicfunction__set($key,$val){$this->data[$key]=$val;}p