Поскольку РНР является языком программирования и получаемая в результате его работы выходная информация может быть совершенно разной для разных пользователей, есть возможность запускать целый веб-сайт из одной веб-страницы, созданной с помощью РНР. При каждом щелчке пользователя на каком-нибудь элементе подробности могут отправляться назад той же веб-странице, которая будет принимать решение, что делать дальше, в соответствии с различными объектами cookie и/или данными сессии, которые могут быть сохранены.
Но несмотря на возможность создания таким способом целого веб-сайта, этого делать не рекомендуется, поскольку исходный код будет все время разрастаться и приобретет громадные размеры по мере того, как ему придется принимать во внимание разнообразные действия пользователя.
Будет куда более благоразумно разделить разработку веб-сайта на несколько разных частей. Например, один автономный процесс будет заниматься подпиской на веб-сайт со всеми вытекающими отсюда проверками допустимости адреса электронной почты, незадействованности имени пользователя и т. д.
Второй модуль неплохо было бы создать для регистрации пользователей, предшествующей их допуску к основной части вашего веб-сайта. Затем можно создать модуль вывода сообщений, в котором пользователи могли бы оставлять свои комментарии; модуль, содержащий ссылки и полезную информацию; еще один модуль, позволяющий загружать на сайт фотографии, и т. д.
Как только будет создано средство для отслеживания действий пользователя на вашем веб-сайте, использующее объекты cookie или переменные сессии (оба этих средства будут более подробно рассмотрены в следующих разделх), можно разделить веб-сайт на удобные секции PHP-кода, каждая из которых будет независима от других, тем самым существенно облегчая себе будущую разработку каждого нового свойства и обслуживание уже имеющихся.
Неявное и явное преобразование типов | Динамическое связывание в действии |