Я знаю, что вы можете создавать глобальные константы в терминах друг друга с помощью конкатенации строк: define('FOO', 'foo'); define('BAR', FOO.'bar'); echo BAR; напечатает «foobar». Тем не менее, я получаю сообщение об ошибке, пытающееся сделать то же самое с использованием констант класса. class foobar { const foo = 'foo'; const foo2 = self::foo; const bar = […]
Я пытаюсь сделать какую-то функцию, которая загружает и создает экземпляр класса из заданной переменной. Что-то вроде этого: <?php function loadClass($class) { $sClassPath = SYSPATH."/classes/{$class}.php"; if (file_exists($sClassPath)) { require_once($sClassPath); $class = $class::getInstance(); } } ?> Если я использую его так: <?php loadClass('session'); ?> Он должен включать и создавать экземпляр класса сеанса. BTW: статическая функция getInstance поступает […]
У меня проблема: Я пишу новый WebApp без рамки. В моем index.php я использую: require_once('load.php'); И в load.php я использую require_once('class.php'); загрузить мой класс.php . В моем классе.php у меня есть эта ошибка: Неустранимая ошибка: использование $ this, если не в объектном контексте в class.php on line … (в этом примере это будет 11) Пример […]
Я пытаюсь получить доступ к статическому члену класса. мой класс: class A { public static $strName = 'A is my name' public function xyz() { .. } .. } //Since I have bunch of classes stored in an array $x = array('A'); echo $x::$strName; Во время печати я получаю ошибку. Как я могу напечатать «A […]
Я хочу иметь возможность создавать классы, которые расширяют класс MySQLi для выполнения всех своих SQL-запросов. $mysql = new mysqli('localhost', 'root', 'password', 'database') or die('error connecting to the database'); Я не знаю, как это сделать без глобализации объекта $ mysql для использования в моих других методах или классах. class Blog { public function comment() { global […]
Время от времени я вижу вопросы о подключении к базе данных. Большинство ответов – это не то, как я это делаю, или я просто не могу правильно ответить. Так или иначе; Я никогда не думал об этом, потому что способ, которым я это делаю, работает для меня. Но вот сумасшедшая мысль; Возможно, я делаю все […]
Я пытаюсь создать простой в использовании одноэлементный класс для подключения к базе данных mysql и делать запросы, код работает отлично, и у меня не было никаких проблем с ним, но поскольку я новичок в ООП, мне интересно, это плохая практика или нет. Вот класс class Database { private $databaseName = 'dbname'; private $host = 'localhost'; […]
Я слышал о get_class_methods() но есть ли способ в PHP собрать массив всех общедоступных методов из определенного класса?
У меня серьезные проблемы с пониманием классов PHP из книги. Они кажутся очень трудными. Какова их цель и как они работают?
Допустим, у меня есть два файла, каждый из которых имеет класс. Как получить имя файла, где находится дочерний класс, в родительском классе? Файл 2 (дочерний класс): class B extends A{ } Файл 1: class A{ final protected function __construct(){ // here I want to get the filename where class B is, // or whatever class […]