Обязательная структура - это не что иное, как логика внутри вашего index.php для автоматической загрузки соответствующего контроллера, в зависимости от свойств HTTP-запроса, особенно URI.
Вы можете смешать семантику RESTful, если хотите. Таким образом, POST к /reports
с данными из формы создаст отчет. GET для /reports/...
будет получать отчет и т. Д. *
В прошлом я использовал $ _ SERVER ['PATH_INFO'] .
Таким образом, форма будет POST к index.php/reports
, что даст вашему index.php достаточно информации, чтобы принять решение о создании экземпляра контроллера для обработки запроса. Вы можете закодировать дополнительные параметры в URI, например index.php/reports/create
, но это немного уродливый IMO. Я лично предпочел бы RESTful концепции здесь. Поэтому, если вы хотите использовать RESTful, вам нужно проверить $ _SERVER ['REQUEST_METHOD'] и решить, какую функцию вызывать. Было бы разумно решить и стандартизировать то, что вы хотите назвать функцией, которая обрабатывает каждый метод HTTP, например, Create for POST, Fetch for GET, Remove for DELETE и т. Д.
Теперь, когда мы знаем, какой контроллер загружать и каким должно быть действие, вам нужно разрешить контроллеру создать экземпляр Модели, а затем вызвать соответствующую функцию в зависимости от метода (или дополнительных параметров в PATH_INFO).
Надеюсь, я дал вам достаточно, чтобы вы могли справиться с этой проблемой.