Articles of Интерфейс

Когда использовать интерфейсы в PHP

Мне всегда было трудно понять реальную ценность интерфейсов при кодировании с объектами в PHP (могли бы быть другие языки, которые я себе представляю) Насколько я понимаю, вы используете Interface для обеспечения соблюдения или гарантии того, что, когда класс использует Interface , этот класс будет иметь методы, определенные в Interface внутри этого класса. Итак, из-за моего […]

Как получить консоль Linux $ COLUMNS и $ ROWS из PHP cli?

В настоящее время я создаю новую опрятную библиотеку CLI для PHP, и я хотел бы узнать ширину / высоту консоли, в которой он работает. Я пробовал много вещей, таких как копание через $ _ENV, exec («echo $ COLUMNS») и т. Д., Но результата нет, а если я набираю echo $ COLUMNS или $ ROWS в […]

Запуск задания cron в CodeIgniter и Hostgator

Я пытаюсь запустить следующую работу cron в codeigniter и hostgator /usr/bin/php /home/username/public_html/index.php cronjob contact martin Но ничего не происходит, я получаю следующее письмо: <h4>A PHP Error was encountered</h4> <p>Severity: Notice</p> <p>Message: Undefined index: REMOTE_ADDR</p> <p>Filename: core/Input.php</p> <p>Line Number: 351</p> <p>Severity: Warning</p> <p>Message: Cannot modify header information – headers already sent by (output started at /home/iglesias/public_html/mysite.com/system/core/Exceptions.php:185)</p> […]

Codeigniter 2 ограничивает контроллер командной строкой

Мне нужно ограничить контроллер в CI 2 только запуском из командной строки. Другие контроллеры в приложении доступны из Интернета. Каков наилучший способ сделать это?

Интерфейсы и наследование абстрактного класса, реализация в расширенных классах

В каждом примере, который я видел, расширенные классы реализуют интерфейсы своих родителей. Для справки, следующий пример: interface MyInterface{ public function foo(); public function bar(); } abstract class MyAbstract implements MyInterface{ public function foo(){ /* stuff */ } public function bar(){ /* stuff */ } } // what i usually see class MyClass extends MyAbstract implements […]

Являются ли интерфейсы просто «синтаксическим сахаром»?

Я играл в основном с PHP и Python. Я читал о интерфейсах в OO-программировании и не вижу преимущества в его использовании. Несколько объектов могут реализовать один и тот же интерфейс, но множественное наследование также не обеспечивает этого? Почему мне нужно создать интерфейс «без реализации» – в основном «контракт» – если я могу просто проверить, существует […]

автозагрузка differsece между классом и интерфейсом php

Я ищу следующий вопрос, который у меня есть. Имена файлов классов нашего проекта называются logon.class.php. Но файл интерфейса для этого класса называется logon.interface.php Моя проблема заключается в том, что при запуске метода автозагрузки я должен иметь возможность определить, является ли это вызовом класса или вызовом интерфейса. <?php function __autoload($name){ if($name === is_class){ include_once($name.'class.php'); }elseif ($name […]

Невозможно реализовать два интерфейса, которые имеют одно и то же имя метода

Это не работает: interface TestInterface { public function testMethod(); } interface TestInterface2 { public function testMethod(); } class TestClass implements TestInterface, TestInterface2 { } Дает мне ошибку: Неустранимая ошибка: не удается наследовать абстрактную функцию TestInterface2 :: testMethod () (ранее объявленная абстракция в TestInterface). Это верно? Почему это не разрешено? Не имеет смысла для меня. Это […]

PHP – Наследование интерфейса – декларация должна быть совместимой

У меня есть интерфейс: interface AbstractMapper { public function objectToArray(ActiveRecordBase $object); } И классы: class ActiveRecordBase { … } class Product extends ActiveRecordBase { … } ======== Но я не могу этого сделать: interface ExactMapper implements AbstractMapper { public function objectToArray(Product $object); } или это: interface ExactMapper extends AbstractMapper { public function objectToArray(Product $object); } […]

В чем смысл интерфейсов на слабо типизированном языке, например PHP?

Я никогда не мог понять это. Если ваш язык не проверяет тип, какие преимущества предоставляют вам интерфейсы?