Articles of oop

¿Por qué PHP Trait no puede implementar interfaces?

Me pregunto por qué PHP Trait (PHP 5.4) no puede implementar interfaces. La actualización de user1460043’s answer => … no puede requerir que la clase la use para implementar una interfaz específica Entiendo que podría ser obvio, porque la gente podría pensar que si una Class A está utilizando un Trait T que implementa una […]

ERROR en DOP: Llamar a una función miembro prepare () en nulo

Tengo un problema con la función de preparación ==> Llamar a una función miembro prepare () en nulo Tengo páginas de arrastre classo.php e index.php classo.php: setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING); } function insererDonne($pseudo,$password) { global $db; classo::connection(); $donne=array( ‘user’ =>$pseudo, ‘pass’ =>$password ); $req=”INSERT INTO users (user,pass) VALUES (:user,:pass)”; $sql=$db->prepare($req); $sql->execute($donne); } } ?> index.php: insererDonne(‘dsds’,’tosdsta’); ?> ¿Tienes […]

Tratar con caracteres especiales en nombres de propiedades de objetos

Estoy trabajando con una base de datos creada por un pasante de profesor universitario. Muchos de los campos tienen nombres como ‘Ingresos_ (presupuesto)’. Actualmente cuando trabajo con objetos que tienen los campos como propiedades, hago algo como $f = ‘Revenues_(budget)’; echo $obj->$f; Esto funciona bien, pero me preguntaba si podría haber una manera más elegante […]

¿Cómo llamar a un método protegido en php?

Aquí está la estructura de clase. Quiero que Observer: callme () se pueda llamar también desde Children. class Observer { protected callme() { } } class Parent extends Observer { function createChild() { $this->callme(); // this is OK return new Child ($this); } } class Child { private $this myParent; public function __constructor ($myParent) { […]

Añadir dinámicamente una propiedad privada a un objeto

Tengo una clase: class Foo { // Accept an assoc array and appends its indexes to the object as property public function extend($values){ foreach($values as $var=>$value){ if(!isset($this->$var)) $this->$var = $value; } } } $Foo = new Foo; $Foo->extend(array(‘name’ => ‘Bee’)); Ahora el objeto $Foo tiene una propiedad de name público con valor Bee . ¿Cómo […]

Refiriéndose a un miembro estático de una subclase

Me gustaría que hubiera una palabra clave sub que hiciera que el código debajo del value impresión en la ejecución. Sin embargo, no existe y me pregunto: ¿existe alguna forma de referirse a un miembro de una subclase? class Main { static function foo() { echo sub::$variable; } } class Sub extends Main { static […]

AOP en PHP simple que no requiere ninguna extensión de PECL (¡Vaya!) – ¿Cómo?

Hay un marco llamado Go! Marco orientado a aspectos para PHP Y está hecho en PHP simple, no requiere ninguna extensión de PECL ni contenedores DI para funcionar. Lo que es más, se puede integrar con cualquier framework y biblioteca PHP existente (con o sin configuración adicional). Y no hay controles de tiempo de ejecución […]

PHP – OOP – ¿Por qué mi función se llama dos veces?

Estoy enfrentando el problema de que mi función se llama dos veces cada vez que envío mi formulario Mi archivo de formulario con la llamada a la función: login(); ?> username: password: mi clase y función class login { public function login() { if(isset($_POST[‘submit’])){ echo “submit”; } } } Así que cada vez que presiono […]

PHP: Asignación de objetos a propiedad estática, ¿es ilegal?

¿Es ilegal asignar algún objeto a propiedad estática? Estoy recibiendo el error HTTP 500 en el código de abajo. require_once(‘class.linkedlist.php’); class SinglyLinkedlistTester { public static $ll = new Linklist(); } Error HTTP 500 (Error interno del servidor): se encontró una condición inesperada mientras el servidor intentaba completar la solicitud. Nota: No hay problema con el […]

Funciones.php vs OOP

Si tengo una colección de funciones útiles en un archivo llamado functions.php (lo suficientemente fácil), ¿cuál sería la ventaja de OOP? Quiero aprenderlo, pero es bastante profundo, así que antes de bucear, sería bueno saber si hay alguna ventaja. Puedo enviar variables a las funciones tan fácilmente como puedo recibirlas. ejemplo tengo funciones del_some_string ($ […]