Если я правильно понял. данный вариант предлагается взамен моего варианта, но все внутри того же html файла?
Внутри пхп-файла.
Perun пишет:
Меня этот меммент волновал в первую очередь - полностью код php в html файле. Насколько это корректно?
Если я не ошибаюсь, расширение файла с пхп кодом внутри не имеет значения только в том случае, если этот файл (в вашем случае *.html) подключается в пхп файл, и если в этом (*.html) файле пхп код снабжён соответствующими открывающими/закрывающими пхп тегами.
Perun пишет:
объем кода не меньше, чем в первом варианте, в чем преимущества?
Если вам нужно сократить количество строк, то ваш массив можно записать в одну строку:
Но это противоречит стандартам. Преимущества будут очевидны, если у вас в коде будет много блоков if () else - вместо них у вас будет один массив со значениями, и функция поиска по массиву. А повторяющегося кода (быдлокод) надо избегать.
Perun пишет:
И попутно к этому же вопрос: Я несмотря на то, что почитал в разных источниках про file_exists, не понял, где конкретно будет вестись поиск? Весь сервер лопатить или только в пределах сайта и сколько времени будет занимать сам поиск?
Поиск осуществляется в той директории, которую вы укажете в вашем коде. Если передать в file_exists() только имя файла (без директории), то поиск будет произведён в той же папке, в которой находится ваш файл с кодом.
Вместо множества блоков if () else {} можно собрать список страниц (модулей), и организовать поиск в этом списке с последующим подключением запрошенного в GET-параметре модуля. Пример:
Строитель
Не работает, думаю сессии надо использовать при старте класса статическое свойство тоже обнуляется
Ну, ещё можно прописать это свойство внутри метода kind(), и так же объявить его (вернее её, т.к. это будет уже переменная) статической. И тогда при каждом вызове метода её значение будет увеличиваться. Можно конечно и в сессии, но надо ли?
В последнем примере должен быть E_NOTICE за обращение к несуществующему (уже удалённому) элементу массива.
Так и есть.
Kledt, а какую цель вы преследуете? Я так понимаю, что вам надо найти и удалить какое-то значение в массиве, и после - распечатать этот массив в браузере?