"если разработчик Вася захочет написать какой-то свой плагин, например, для работы с юзерами, то он будет точно знать, какие методы он должен в своем классе реализовать."
А если этот самый Вася сам и написал интерфейс?
Или если интерфес написал человек, который и понятия не имеет, что может понадобиться какой-то еще обязательный метод? Который потом упустили (для примера) из за отсутствия в интерфейсе.
А, то есть, прежде чем один разработчик начнет писать свой класс, он должен чекнуть интерфейс? И вообще, откуда он узнает, какой именно интерфейс ему смотреть? Да и откуда он вообще узнает, что интерфейс для этого класса есть?
Но ведь это можно контролировать и самому? Тем более, если мне, например, для облака некоторые функции не нужны будут? Вызовется же фатальная ошибка о том, что несостыковочка с интерфейсом.
jackroll: вы не поняли. Я имею в виду, если он ДАЖЕ основ не понимает, то никому не нужен будет.
Да и что, вы думаете, что, закончив институт, человек сразу же станет все ведать?
Нет.
Скажу честно. Заканчиваю сейчас сам 9-ый класс (уже неделя осталась, получается). Весь год мечтал о том, что вот, окончу школу, наконец пойду в в престижный колледж, буду обучаться дальше.
Поговорив со своими знакомыми о том, куда они собираются идти или где уже они учатся КАЖДЫЙ мне ответил, что либо в этом престижном колледже (связанный с программированием) либо в чуть менее престижный (но тоже с этим связанный).
Некоторые из тех, кто собирался туда идти говорил прямо: "Слушай, я, походу, буду, единственным программистом, который только и будет уметь, что включать компьютер".
Забавно, правда? Ну а что, зато престижно, зато платят много. Естественно, я от этой мысли отказался. Потому что подумал.
Если туда идут почти все, каждому будут преподавать этот C++, каждый такой недопрограммист начнет на нем велосипедить и костылить (почему недо-? Да потому что когда к этому душа не лежит, заниматься этим просто не стоит, я считаю), а, как известно, какие программисты, такой и язык (вспомните, как пестрили форумы о макаках и PHP), сразу доля языка на рынке упадет, язык станет не востребован, соответственно они тоже. А из за таких, как они, могут пострадать такие как я.
Denormalization: просто вы упомянули использование сеттеров для неборщехлебского решения проблемы. Вот я и прошу привести конкретный пример использования для моего случая. То есть пример подключения переменной из левого php файла в класс.
Denormalization: нет, вопрос задан корректно, услышал все, что хотел. Да и ошибки нет. Просто код не работает, потому что не видит необходимой переменной.
Окей, если не через глобальные, то как тогда через сеттеры?
Дело в том, что все эти массивы не находятся в классах. Считайте, что это простые переменные в файле index.php. И как я тогда с помощью сеттера могу их определить?
Во-первых, к классу я обращаюсь не объектно. Я статически методы вызываю.
Запрос? Хорошо. В индексном файле вызывается метод DB::Connect().
Из него вызывается еще один метод (уже из другого класса). Из него - еще один (тоже из другого класса). И вот в этом, уже 3-ем классе, я обращаюсь к переменной $known_words (array), которая лежит в файле, который подключается в индексном. И оттуда эта переменная не видна. А из индекса видна.
FeNiX1996l: а если ответы у вас, как в ВК, на отдельной странице, то почему бы просто не отправить запрос при загрузке страницы? Но тогда и аякс для этого использовать глупо. Короче говоря, вам просто нужно определиться, на каком элементе (или в каком случае вообще) ловить событие. А так мой шаблрн должен подойти, я думаю.
А если этот самый Вася сам и написал интерфейс?
Или если интерфес написал человек, который и понятия не имеет, что может понадобиться какой-то еще обязательный метод? Который потом упустили (для примера) из за отсутствия в интерфейсе.