Вот мой класс class Databases { public $liveresellerdb = new Database('1host1','user','pswd','db'); } ошибка, которую я получаю, – это Parse error: syntax error, unexpected T_NEW in /home/abhijitnair/sandbox/newreseller/Databases.php on line 33 почему эта ошибка наступает?
Я создал абстрактный родительский класс и конкретный класс, который его расширяет. Почему родительский класс не может назвать абстрактную функцию? //foo.php <?php abstract class AbstractFoo{ abstract public static function foo(); public static function getFoo(){ return self::foo();//line 5 } } class ConcreteFoo extends AbstractFoo{ public static function foo(){ return "bar"; } } echo ConcreteFoo::getFoo(); ?> Ошибка: Неустранимая […]
Я должен прочитать файл и сделать некоторые вычисления, чем сохранить результат этого вычисления внутри переменной. Мне просто нужно сделать это один раз. В Java + Servlet я могу сделать это, используя контейнер сервлета и, например, шаблон singleton. Я знаю, что в PHP я не могу так себя вести. Каков лучший способ сделать это? Сохранить вычисления […]
У меня такая же проблема, как у этого парня с приложением, которое я пишу прямо сейчас. Проблема в том, что статические свойства не наследуются в подклассах, поэтому, если я использую static-ключевое слово в моем основном классе, он также устанавливает переменную в моем основном классе. Он работает, если я переопределяю статические переменные в моем подклассе, но […]
Почему я не могу использовать метод нестатический с синтаксисом методов static (class :: method)? Это какая-то проблема конфигурации? class Teste { public function fun1() { echo 'fun1'; } public static function fun2() { echo "static fun2" ; } } Teste::fun1(); // why? Teste::fun2(); //ok – is a static method
После включения строгих предупреждений в PHP 5.2 я увидел загрузку строгих стандартов предупреждений из проекта, который был изначально написан без строгих предупреждений: Строгие стандарты : статическая функция. Программа :: getSelectSQL () не должна быть абстрактной в Program.class.inc Данная функция относится к абстрактной программе родительского класса и объявляется абстрактной статической, поскольку она должна быть реализована в […]
В чем разница между этими объектными вызовами? Нестатический: $var = new Object; $var->function(); Статическая: $var = User::function(); А также внутри class почему я должен использовать статическое свойство для функций? пример: static public function doSomething(){ …code… }
Я хочу создать статический класс в PHP и вести себя так же, как на C #, поэтому Конструктор автоматически вызывается при первом вызове класса Нет необходимости в создании экземпляра Что-то в этом роде … static class Hello { private static $greeting = 'Hello'; private __construct() { $greeting .= ' There!'; } public static greet(){ echo […]
Я обновляюсь на OOP с PHP, и я видел пример установки функций и / или переменных как статических. Когда и зачем мне ставить переменную / функцию? Я делал другие языки и на самом деле не помню, чтобы когда-либо использовал статику, я никогда не нашел для нее реальной цели. Я знаю, что он делает, но почему […]
Я смотрел на источник для Drupal 7, и я нашел некоторые вещи, которых я раньше не видел. Я сделал некоторые первоначальные взгляды в руководстве php, но это не объясняло эти примеры. Что ставит ключевое слово static в переменной внутри функции? function module_load_all($bootstrap = FALSE) { static $has_run = FALSE