Любая идея, почему я получаю эту ошибку: Warning: Missing argument 1 for person::__construct(), called in /home/fishbein/public_html/dev/OOP/index.php on line 5 and defined in /home/fishbein/public_html/dev/OOP/class_lib.php on line 6 Warning: Missing argument 1 for person::__construct(), called in /home/fishbein/public_html/dev/OOP/index.php on line 6 and defined in /home/fishbein/public_html/dev/OOP/class_lib.php on line 6 С помощью этого кода: <? class person { var $name; […]
Я немного смущен тем, как работают конструкторы в PHP. У меня есть класс с конструктором, который вызывается при создании нового объекта. $foo = new Foo($args); __construct($params) вызывается в классе Foo и выполняет соответствующий код инициализации. Однако, когда я использую класс для вызова статической функции, конструктор вызывается снова. $bar = Foo::some_function(); //runs the constructor from Foo […]
У меня есть функция, которая принимает вариативные аргументы, которые я func_get_args() от func_get_args() . Эта функция должна вызывать конструктор с этими аргументами. Однако я не знаю, как это сделать. С помощью call_user_func вы можете вызывать функции с массивом аргументов, но как вы могли бы назвать его конструктором? Я не могу просто передать массив аргументов; он […]
При объявлении массива как члена класса, каким образом это должно быть сделано? class Test1 { private $paths = array(); public function __construct() { // some code here } } или class Test2 { private $paths; public function __construct() { $this->paths = array(); // some code here } } Какой из них лучше с точки зрения […]
Вызов функции __construct () из __destruct (), <?php public function __construct() { echo "Hi"; } public function __destruct() { $this->__construct(); } ?> будет ли он создавать бесконечный цикл?
Как вы могли видеть в названии, мой фон программирования – Java. В Java вы можете делать такие вещи, как это new Object().callSomeMethod(); без присвоения созданного объекта переменной, очень полезному и понятному кодированию, если вам нужен только этот объект один раз. Теперь в PHP я пытаюсь сделать то же самое new Object()->callSomeMethod(); но здесь я получаю […]
Я посмотрел и попытался, но я не могу найти ответ. В PHP можно вызвать функцию-член класса (когда этот класс требует, чтобы конструктор получал параметры), не создавая экземпляр его как объекта? Пример кода (который дает ошибки): <?php class Test { private $end=""; function __construct($value) { $this->end=$value; } public function alert($value) { echo $value." ".$this->end; } } […]
У меня есть этот код. Возможно ли, чтобы конструктор объекта- User каким-то образом $this->LoggedUser с ошибкой, так что $this->LoggedUser присваивается значение NULL и объект освобождается после возврата конструктора? $this->LoggedUser = NULL; if ($_SESSION['verbiste_user'] != false) $this->LoggedUser = new User($_SESSION['verbiste_user']);
Посмотрев следующий код, я вижу, что конструктор возвращает значение. Я думал, что конструкторы возвращают только объекты. Может ли кто-нибудь сказать мне, что мне не хватает? public function __construct($username = null, $password = null){ $urlLogin = "{$this->apiHost}/login/$username"; $postData = sprintf("api_type=json&user=%s&passwd=%s", $username, $password); $response = $this->runCurl($urlLogin, $postData); if (count($response->json->errors) > 0){ return "login error"; } else { […]
У меня есть вспомогательный класс с некоторыми статическими функциями. Все функции класса требуют, чтобы «тяжелая» функция инициализации запускалась один раз (как если бы это был конструктор). Есть ли хорошая практика для достижения этого? Единственное, о чем я думал, это вызов функции init и нарушение ее потока, если он уже запускался один раз (используя статический $initialized […]