Где мне разместить текст, который я пытаюсь абстрагировать, в моем приложении CakePHP? - PullRequest
0 голосов
/ 10 августа 2010

Я пишу приложение CakePHP и пытаюсь, чтобы текст, который часто отображается (или особенно длинный), сохранялся где-то в конфигурационном файле, чтобы мы могли его легко отредактировать.
Куда мне положить этот файл и как получить к нему доступ?
Я также обеспокоен компромиссом в скорости чтения этого файла, когда нам нужно отобразить текст, а также блокированием от других процессов, которые могут его использовать. Это то, о чем я должен беспокоиться, или фреймворк справится с этим?

Ответы [ 3 ]

6 голосов
/ 11 августа 2010

Да, Роб сказал, что это очень хорошо. Вы можете это представить, статическое или динамическое. Если оно статическое, вы можете напрямую поместить HTML-часть в элемент, а затем вызывать ее в любом месте. И если он динамический, вы можете извлечь данные из базы данных через Model, передать их в Controller и затем отобразить их в элемент (небольшая часть View или вы можете назвать его Abstract).

1 голос
/ 11 августа 2010

Если он отображается в нескольких местах, но статично, элемента будет достаточно. Я не уверен, что буду сильно беспокоиться о длине, но элемент тоже сработает. Если требуется частое редактирование, вы можете подумать о том, чтобы поместить в базу данных, где CakePHP может легко с этим справиться, хотя кто-то, возможно, создал источник данных в виде плоского файла (я никогда не смотрел), который бы работал так же хорошо.

Вы также можете рассмотреть возможность использования MongoDB, CouchDB или другого варианта «NoSQL», если вы планируете иметь какой-либо значительный объем неструктурированного текста. Кажется, это не стоит того, что вы упомянули, но если у вас более широкий контекст ... возможно.

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

0 голосов
/ 11 августа 2010

... имеет текст, который часто отображается (или особенно длинный)

В соответствии с руководством рекомендуется хранить текст, который используется в нескольких представлениях в представленииэлемент (как указал Роб Уилкерсон).

где-то, что мы можем легко отредактировать.

Даже в этом случае элемент представления по-прежнему является выбором, так как вы можете ссылаться на этот единственный элемент из нескольких представлений,так что нет необходимости хранить в БД.Если вы измените элемент представления, он сразу же вступит в силу, где бы на него ни ссылались / встраивали (вполне логично).

... сохраняется в файле конфигурации

Это будет считаться плохой практикой, когда вы начнете ослаблять свою структуру MVC.

Сверхлегкое, сверхкороткое чтение: http://book.cakephp.org/view/1081/Elements

Удачи в вашем проекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...