У меня есть php-сайт, который протекает, как показано ниже. Обратите внимание, что я оставляю большую часть кода (везде, где есть эллипсы). index.php include template.php … $_template = new template; $_template->load(); … template.php class pal_template { … public function load() { … include example.php; … } example.php … global $_template; $_tempalate->foo(); … Теперь это прекрасно работает. […]
в этом случае я создаю объект sqlite3 в основном файле моего скрипта: $db = new sqlite3('file.sqlite'); теперь мне нужно получить доступ к файлу sqlite в других других методах других классов. Но каков наилучший способ доступа к объекту? Создавать каждый раз новый объект? Использовать в методе глобальное? global $db; Или доставить его в качестве аргумента? $object […]
Вот сценарий 1. У меня есть таблица под названием «items», внутри таблицы есть 2 столбца, например item_id и item_name . Я храню свои данные таким образом: item_id | название предмета Ss001 | Shirt1 Sb002 | Shirt2 Tb001 | TShirt1 Tm002 | TShirt2 … и т. д., я храню таким образом: первая буква – это код […]
Извините за невероятно новый вопрос, но я вижу, как я дрейфую в плохие практики, если не спрашиваю. У меня есть метод PHP, который я хочу вернуть всем значениям данного столбца базы данных, чтобы разместить содержимое в выпадающем меню для HTML-формы. Я мог бы, очевидно, построить весь HTML в методе PHP и вернуть его в виде […]
В PHP, если вы создаете массив объектов, являются ли объектные методы (а не элементы данных) скопированы для каждого экземпляра объекта в массиве или только один раз? Я бы предположил, что по соображениям памяти последнее верно; Я просто хотел подтвердить сообществом StackOverflow, что это правда. Например, предположим, что у меня есть класс MyClass с несколькими методами, […]
Почему в этом примере работает «сам» вызов несекретного метода? class A{ protected function aNonStaticMethod(){ return __class__; } public function aEcho(){ echo self::aNonStaticMethod(); } } Спасибо за объяснение.
Не могу обернуться вокруг этого, есть ли способ проверить, был ли метод вызван внутренне? Под этим я подразумеваю трассировку, чтобы проверить, был ли он вызван значением $ this, а не указателем на экземпляр. Вроде как понятие частной функции, но только функция общедоступна? <?php class Foo { public function check () { /* if invoked by […]
Я пытаюсь получить доступ к статическому методу, но используя переменную как имя класса. Это возможно? Кажется, у меня проблемы с этим. Я хочу сделать что-то вроде этого: class foo { public static function bar() { echo 'test'; } } $variable_class_name = 'foo'; $variable_class_name::bar(); И я хочу, чтобы иметь возможность делать подобное, используя статические переменные.
В настоящее время мой код выглядит так: switch ($_POST['operation']) { case 'create': $db_manager->create(); break; case 'retrieve': $db_manager->retrieve(); break; … } Я хочу, чтобы проверить, существует ли метод, называемый $_POST['operation'] : если да, тогда назовите его, иначе echo «error» Возможно ли это? Как я могу это сделать?
В PHP, В чем разница между объявлением методов внутри класса, например public function VS Например: public function contact() { $data['header'] = "Contact"; $this->load->view('admin/admin_contact', $data); } В.С. function contact() { $data['header'] = "Contact"; $this->load->view('admin/admin_contact', $data); } Лучше ли использовать публичную функцию или функцию и почему?