草庐IT

replica_device_setter

全部标签

使用或不使用的 PHP Getters/Setter

在学习PHP面向对象编程的过程中,我看了很多视频教程,看了很多文章。我看到的许多PHPOOP教程都说使用getter和setter。这对我来说毫无意义;为什么我会将类属性设置为私有(private)或protected,然后使用函数公开该属性?我开始研究并在这里找到了现在乞求这个问题的文章:您应该在PHP中使用getter和setter而不是直接访问类的属性吗?如果是,为什么?(非技术术语,请。其他一些问题给出了原因,但它们太技术性了,我无法理解他们试图解释的内容)如果不是,为什么不呢?注意:在阅读一些类似的StackOverflow问题时,我注意到thispost由Google开发人

c# - 像 C# 中那样处理 PHP 属性(getter 和 setter)

我一直在做一些研究,想知道在PHP类中使用属​​性是否可以像C#一样完成,我发现这些问题有一些很好的答案和指针,但并没有真正帮助我:ShouldIuseC#-likepropertyhandlinginPHP?Getandset(private)propertyinPHPasinC#withoutusinggettersettermagicmethodoverloading虽然,正如我所说,这些给出了很好的答案,但我仍然无法就这些下定决心,例如,我希望能够做一些事情,例如:classFoo{public$bar{get{return$this->bar;}set{$this->bar=

PHP:如何将动态变量名与类的 setter 一起使用

我有一个带有私有(private)成员“描述”的类,但它提出了一个二传手:classFoo{private$description;publicfunctionsetDescription($description){$this->description=$description;}}我在变量中有成员的名字。我想动态访问该字段。如果该字段只是公开的,我可以这样做:$bar="description";$f=newFoo();$f->$bar="asdf";但是如果我只有一个二传手,我不知道该怎么做。 最佳答案 $func("asdf

php - 拉维尔 4 : Getter and Setter Methods

我试图让Getter和Setter方法工作(从Laravel3到Laravel4)但显示错误。这里有什么工作吗?它们在密码大小写中非常有用:publicfunctionset_password($password){$this->set_attribute('hashed_password',Hash::make($password));}http://three.laravel.com/docs/database/eloquent 最佳答案 刚找到答案:现在它叫做访问器和修改器https://laravel.com/docs/5.

php - 为什么要为 doctrine2 类使用 getter setter

为什么我们一般对doctrine2类使用gettersetter来保存和获取数据?如下所示:id;}publicfunctiongetName(){return$this->name;}publicfunctionsetName($name){$this->name=$name;}}如果我们公开类属性,我们可以在没有gettersetter的情况下保存数据。不是吗? 最佳答案 您不能对延迟加载元素所需的属性创建代理调用。这是Doctrine经常使用的工具。Getter和setter通常比属性更灵活。如果getter和setter的开

php - setter php 中的类型提示与类型转换

在php中,我想知道以下是否在功能上是等价的?classFoo{public$bar;...publicfunctionsetBar($bar){$this->bar=(array)$bar;}}classFoo{public$bar;...publicfunctionsetBar(array$bar){$this->bar=$bar;}}两者中哪一个被认为是最佳实践?两者都做有意义吗?:classFoo{public$bar;...publicfunctionsetBar(array$bar){$this->bar=(array)$bar;}} 最佳答案

php - Enterprise Architect 中的魔术 getter 和 setter

我正在使用EnterpriseArchitect制作UML类图并使用它生成PHP5代码。使用this,可以为一个属性创建getter和setter,在代码中看起来像这样(只显示相关行):private$id;publicfunctiongetId(){return$this->id;}/****@paramnewVal*/publicfunctionsetId($newVal){$this->id=$newVal;}我想使用魔术方法__get($property)和__set($property,$value)而不是为每个属性使用单独的方法。这可能吗?如果可能的话,怎么办?它可能看起来

PHP:什么是 Getter 和 Setter?

什么是PHP5中的getter和setter?谁能给我一个很好的例子和解释? 最佳答案 这是OOP中数据隐藏(或封装)的概念。例如,如果你想在你的类(class)中拥有某个属性,让我们说“金额”并让你类(class)的客户选择更改或提取其值(value)你应该将你的变量“金额”设为私有(private)(对于那些使用你的人不可见类)并生成两个方法,一个getter和一个setter来操纵你的值(它们是公共(public)的)。原因是能够在设置或获取您的值之前验证数据或对其进行操作。这是一个简短的例子:classtest{privat

php - 动态使用 setter 和 getter 的 symfony Doctrine

我正在使用symfony和doctrine。服务器获取URL/company/{id}的HTTPPATCH请求,其中包含模型的属性及其值,如{"name":"Mynewname"}新值需要持久化到数据库中。$request=Request::createFromGlobals();$requestContentJSON=$request->getContent();$requestContentObj=json_decode($requestContentJSON);$repository=$this->getDoctrine()->getRepository('MyBundle:Co

PHP getter/setter 到数组

跟随“问题”具有很多属性的PHP类。很多Getters/Setter。有什么好的解决方案可以将所有属性转换为数组吗?protected$name;protected$date;publicfunctiongetName();publicfunctiongetDate();publicfunctionasArray();//callallgetters? 最佳答案 您的API是否已经定义并且您是否坚持使用getX和setX方法?我更喜欢属性。输入更少,属性和方法之间的区别更好,生成的代码看起来更像PHP而不是Java。但是公开属性并不