Articles of oop

Obtenha o nome da class de nível superior quando a inheritance eo alias de class são usados

Eu tenho algumas aulas estendidas desta forma: class Baseresidence extends CActiveRecord { public static function model($className=__CLASS__) { return parent::model($className); // framework needs, can’t modify } } class Site1Residence extends Baseresidence { } e finalmente class_alias(‘Site1Residence’, ‘Residence’); // this is part of an autoloader Então, no final, eu tenho como esta Residence extends Site1Residence extends Baseresidence […]

PHP Last Object of Method Chaining

Em PHP, usando o encadeamento de methods, como se trataria de fornecer uma chamada funcional depois que o último método fosse chamado na cadeia? Também durante a mesma instância (veja abaixo). Isso mataria a idéia de implementar um destruidor. O resultado final é um valor de retorno e uma chamada funcional de “inserção” (“privada”) das […]

Como remover $ _SERVER de uma determinada string em PHP

Como posso remover $_SERVER[‘DOCUMENT_ROOT’] de uma string como essa /home/bla/test/pic/photo.jpg o resultado deve ser parecido com este /test/pic/photo.jpg Eu também preciso tirar a foto.jpg de /test/pic/photo.jpg

Classe de userIdentity personalizada em yii2

Eu quero criar a class userIdentity personalizada de acordo com os meus requisitos específicos. Aqui, o código é getUserRole($user->user_id); $this->_id = $user->user_id; $this->_email = $user->email_address; $this->_role = $userRole; $this->_name = $user->full_name; return $this; } public function getId() { return $this->_id; } public function getName(){ return $this->_name; } public function getEmail(){ return $this->_email; } public function […]

Alterou o object após armazenamento ou object-estado usado

Exemplo: class UserStorage { public function addUser(User $user) { //saves to db } } class User { public function setName($name); } E se eu adicionar um usuário ao armazenamento do usuário e depois mudar esse object de usuário? Neste caso, você pode argumentar que os objects do usuário somente devem ser armazenados em __destruct. Mas […]

Como obter o nome de uma variável de boot dentro de uma class em PHP

Gostaria de saber, se for possível em PHP (usando reflection ou não) obter o nome da variável abc dentro do método de class neste exemplo. class Example { public function someMethod() { // once this method is called, I want it to echo `abc` in this example } } Agora, quando eu chamo o método […]

Aprendendo php Classes, preso em __contruct ();

Então estou tentando aprender phpOOP depois de parar a programação há alguns anos, então estou um pouco enferrujada. Enfim, eu tenho um blogEntry de class para que eu possa exibir inputs de blog que foram limpas com a function cleanForDisplay por echo’ing $ blogEntry-> artigo, por exemplo. Mas não recebo erros e a variável não […]

Como faço para lidar com vários argumentos de construtor ou variables ​​de class?

Como eu sei o que carregar em um construtor e o que definir usando os methods estabelecidos mais tarde? Por exemplo, eu tenho uma aula de perguntas que na maioria das vezes chamará as seguintes séries: protected $question; protected $content; protected $creator; protected $date_added; protected $id; protected $category; No momento, eu tenho assim que apenas […]

Estendendo classs estáticas em PHP – Evitando as variables ​​de compartilhamento para várias classs na class estendida

Parece ter problemas para estender as aulas estáticas em PHP. Código PHP: <?php class InstanceModule { public static $className = 'None'; public static function PrintClassName() { echo self::$className . ' (' . __CLASS__ . ')’; } } class A extends InstanceModule { public static function Construct() { self::$className = “A”; } } class B extends […]

Método estático do PHP versus método da instância

Eu tenho o seguinte código em PHP. Testes em Phpunit e Laravel. Por que o método da class é o mesmo que o método da instância? Eu estava esperando chamar $instance->classMethod() retornaria algum erro. Isso também significa que o nome do método da instância não deve ser compartilhado pelos nomes dos methods da class? Ou […]