2015-07-03 3 views
1

Я создал приложение на основе cakephp. Используя GET (? Site = x), я хочу сделать переменную «сайт» доступной во всех методах действий. Но если я вызываю любой URL с параметром get param? Site = x, он исчезает, когда я вызываю любой другой URL. Используя кеши, я подумал, что могу сэкономить? Site = x, когда в первый раз вызывается какой-либо URL. Когда вызываются другие URL-адреса в приложении, их можно легко извлечь из кеша и добавить в вызываемый URL-адрес.Создание переменной GET доступно во всех методах

Я хочу знать, если это хороший подход или вы думаете, что есть другие лучшие решения этой проблемы.

+1

Если он всегда будет присутствовать в URL-адресе, то зачем вообще беспокоиться об этом в URL-адресе? –

ответ

1

Я смущен, что вы хотите сделать, но если вы хотите, чтобы определить переменную, которая будет представлять для всех функций, вы можете сделать это с помощью нескольких образом: -

1.Either определить его в контроллер приложения, как переменная public. Он будет представлен всем другим контроллерам.

2. Определите его в функции beforeFilter() конкретного контроллера. Но эта переменная будет отображаться для всех методов этого конкретного контроллера.

3.Either определяет его как глобальные переменные и что проверить это: - What is the best way to create global variables in CakePHP?

4.You может использовать SESSION тоже.

+0

Благодарим вас за ответ. Да, но содержимое переменной должно быть изменено пользователем. Поэтому я использую GET. Если кто-то называет любой URL-адрес = 123, он также должен быть добавлен ко всем другим URL-адресам. – stannis

+0

Разве это не противоречит? предположим, что я пользователь, и я открываю две вкладки в одном и том же системном браузере и даю разные значения, а затем что происходит? –

+0

в соответствии с содержимым переменных различных операторов SQL. последней называемой? site = x должна быть текущая переменная. – stannis

Смежные вопросы