Articles of класса

PHP PDO Class Design

У меня есть следующий класс для моего класса доступа к базе данных PDO. Где лучшее место для $ conn = new db (); (в настоящее время в пределах Database.php)? Имея в виду структуру стиля MVC, Main.php является контроллером, а два других – это модели. Благодарю. database.php class db { private $conn; public function __construct() { […]

Использование переменной из другого условия в PHP

У меня есть этот код: if(!isset($_GET["act"])) { $display->display("templates/install_main.html"); if(isset($_POST["proceed"])) { $prefix = $_POST["prefix"]; } } if($_GET["act"] == "act") { echo $prefix; } В основном, я задал аналогичный вопрос, прежде всего, КАК я могу сделать переменную доступной? пожалуйста, укажите, есть ли способ сделать это, даже с изменением способа его выполнения (кто-то сказал мне, что это возможно […]

Переопределить общедоступный метод в подклассе таким образом, чтобы ограничивать доступ к общедоступным данным, сохраняя при этом доступ к родительскому классу?

У меня есть общий класс Collection, с множеством общедоступных методов getter. Чтобы получить один элемент из коллекции, вы вызываете get (). Существует также несколько методов, которые возвращают несколько элементов: getMany (), getRange (), getAll (), find (), findAll (), query (), queryAny () и т. Д. Внутренне все эти методы, возвращающие несколько элементов, имеют цикл, […]

Доступ к переменной в классе

я хотел бы получить доступ к переменной, которая находится в классе (а не как экземпляр класса). Например class myclas { private $list=array('1','2','3'); […] } Мне нужно получить доступ к значениям $ list таким образом: myclass :: $ list (witch is'n possible). Есть ли альтернативный способ? Спасибо. // Редактировать: Спасибо всем за ответ! Можно ли использовать […]

Как и зачем использовать фигурные скобки: return $ this -> {$ this-> action} ();

поэтому в первой части я сделал 2 объекта, создаю два класса (один из которых мы создаем из функции createController) $loader = new Loader(); $controller = $loader->createController(); $controller->executeAction(); и метод executeAction код: public function executeAction() { return $this->{$this->action}(); } мой вопрос берет эту строку кода: $this->{$this->action}() как вызывается этот метод и зачем использовать фигурные скобки; Пытается […]

Класс работы полей классов и методов в php

Я пытаюсь назначить функцию как значение свойства. Я написал следующий код: class TestClass{ private $name; public function __construct($name){ $this->$name=$name; } public function changeName($name){ $this->name=$name; } public function displayName(){ echo $this->name; } } $testCls= new TestClass('Dmitry Fucintv'); $testCls->changeName=function($name){ $this->name='Other name'; }; $testCls->changeName('Some name'); $testCls->displayName();//Display 'Some name', but I'm expected that 'Other name' will be displayed. Вопрос: […]

PHP, Неустранимая ошибка: вызов неопределенного метода, почему?

У меня есть простые php-структуры. класс Ингредиент и класс Ингредиенты, у меня есть этот код: class Ingredient { public function objectIsValid() { return $validate[0]; } } class Ingredients { public $ingObject; function __construct(){ $ingObject = new Ingredient(); } public function validateData() { if($this->ingObject->objectIsValid() /*** THE ERROR ***/) { echo "OK";} else { echo "NOT";} } […]

Соединение MySQL: глобально или в объекте?

У меня есть два класса PHP. Один из них – для подключения к базе данных, построения запросов, их выполнения и отключения от базы данных. Другой класс предназначен для пользователей: добавляет их, обновляет, регистрирует их и т. Д. Я обсуждаю, должен ли я подключаться к базе данных на странице по всему миру и использовать это соединение […]

Вычислить объект в булево

Рассмотрим следующее: class MyClass { private $var1 = "apple"; private $var2 = "orange"; } $obj = new MyClass(); if($obj) { // do this } else { // do that } PHP оценивает мой объект как истинный, поскольку он имеет переменные-члены. Может ли эта логика быть переопределена каким-то образом? Другими словами, могу ли я контролировать то, […]

автозагрузка differsece между классом и интерфейсом php

Я ищу следующий вопрос, который у меня есть. Имена файлов классов нашего проекта называются logon.class.php. Но файл интерфейса для этого класса называется logon.interface.php Моя проблема заключается в том, что при запуске метода автозагрузки я должен иметь возможность определить, является ли это вызовом класса или вызовом интерфейса. <?php function __autoload($name){ if($name === is_class){ include_once($name.'class.php'); }elseif ($name […]