Articles of oop

Запретить вызов деструктора вручную

У меня этот класс: class Test { private $test = 'ok'; public function doTest() { echo $this->test; } public function __destruct() { $this->test = 'not ok'; } } и следующий тестовый пример: $test = new Test; $test->__destruct(); // I wish this would throw a Fatal Error or something… $test->doTest(); // prints "not ok" То, что […]

Определение области вызова в PHP

Есть ли способ определить область, в которой функция вызывается из самой функции? (Или метод, я буду использовать функцию для обозначения либо в оставшейся части сообщения.) То, что я не хочу, – это передать функции __FILE__ или __CLASS__ в функцию. Эта информация доступна в трассировке стека и т. Д., Поэтому я знаю, что она где-то плавает, […]

PHP-методы, которые работают как в контексте, так и в статическом контексте?

Я пытаюсь настроить некоторые PHP-методы, которые можно вызывать в инстанцированных и статических контекстах. Каковы хорошие способы сделать это? Например, я хочу иметь возможность: Foo::bar($item); foo($item)->bar(); Я мог бы настроить два отдельных класса, и каждая функция изменяет thisArg и делегирует их другому, но похоже, что это лучший способ. Единственный способ, которым я мог бы это сделать, […]

Где вы вкладываете свои зависимости?

Если я использую шаблон инъекции зависимостей для удаления зависимостей, они оказываются где-то еще. Например, Snippet 1, или то, что я называю Object Maker. Я имею в виду, что вам нужно создавать объекты где-то … поэтому, когда вы перемещаете зависимость из одного объекта, вы в конечном итоге ставите его еще один. Я вижу, что это объединяет […]

Как переписать переменную из функции класса в другой файл

Я просто новичок в OOP PHP. То, что я хочу сделать, – это отбросить переменную из класса внутри функции в другой файл. Пожалуйста, взгляните на этот код: в файле class.library.php : class db_connect { // Other functions and variables here function settings() { $sql="SELECT * FROM lms_admin_settings"; $result = $this->conn->query($sql); while($data = $result->fetch_assoc()) { $name […]

Является ли общий класс необходимым для сайта PHP сайта?

У меня есть класс CORE, который относится только к моему конкретному сайту, т. Е. Он выполняет специфические для сайта функции. У меня есть класс базы данных (для mysql) и другие классы, такие как доступ, валидатор, загрузка, шаблон и т. Д. И т. Д. Я знаю, что классы php могут расширять только один класс, поэтому почти […]

Как удалить $ _SERVER из заданной строки в PHP

Как я могу удалить $_SERVER['DOCUMENT_ROOT'] из строки, подобной этой /home/bla/test/pic/photo.jpg результат должен выглядеть так: /test/pic/photo.jpg Мне также нужно взять photo.jpg из /test/pic/photo.jpg

страница просмотра – ошибка PHP

Я смотрю учебник, я смотрю учебники о CMS с OOP – PHP но при открытии страницы users.php (просмотр страницы) я не получаю никакого результата! на странице управления users.php <?php /** * Globals file */ require_once('../globals.php'); /** * Articles Controller */ require_once(CONTROLLERS.'UsersController.php'); /** * Models */ require_once(MODELS.'UsersModel.php'); $usersmod = new UsersModel(); /** * Controller Instance */ […]

изменить запрос php oop mysql

Эй, поэтому благодаря помощи ранее, у меня теперь есть отличная функция для запроса определенной строки данных. class Posts{ public static function singleQuery($table, $value){ return mysql_fetch_object( mysql_query("select * from $table where id=$value"), __CLASS__); } } $set = Posts::singleQuery('settings', '1'); echo $post->title; Я надеялся изменить это, поэтому он запрашивает следующее: SELECT * FROM posts ORDER BY id […]

Вывести свойство с PHP5 и цепочкой методов

Я играю с PHP5 и цепочкой методов, следуя нескольким примерам StackOverflow. Я хотел бы настроить общий метод show (), способный печатать только требуемое свойство, см. Пример: <?php class testarea{ public function set_a(){ $this->property_a = 'this is a'.PHP_EOL; return $this; } public function set_b(){ $this->property_b = 'this is b'.PHP_EOL; return $this; } public function show(){ echo […]