Ну, можно использовать consts в атрибутах, так как они существуют как время компиляции. Вы не можете предсказать значение статической переменной только для чтения, так как эти .cctor
мог инициализировать его от конфигурации и т.д.
С точки зрения использования, константы врезаются в код вызова. Это означает, что, если Вы перекомпилировали библиотека dll для изменения общественность постоянный, но не изменяете потребителей, тогда он, потребители будут все еще использовать исходное значение. С переменной только для чтения этого не произойдет. Зеркальное отражение этого - то, что константы (очень, очень немного) более быстры, так как это просто загружает значение (вместо того, чтобы иметь необходимость разыменовать его).
интернирование Ре; хотя можно сделать это вручную, это - обычно функция компилятора/времени выполнения литералов; если Вы init поле только для чтения через литерал:
someField = "abc";
тогда эти "abc"
будет интернирован. При чтении его из конфигурации это не будет. Поскольку постоянная строка должна быть литералом, она будет также интернирована, но к ней получают доступ по-другому: снова, чтение из поля является разыменовыванием, а не ldstr
.
Я думаю, вам придется реализовать внешнюю систему полнотекстового поиска. MySQL просто не подходит для полнотекстового поиска. Я бы сказал, вам стоит попробовать Lucene ( учебники ). Zend Framework имеет API , который подключается к Lucene, что упрощает изучение и использование.
Я не использовал ни php, ни mysql, но альтернативой полнотекстовому поиску может быть поиск soundex .
Предполагая, что вы используете MySQL - MySQL не имеет встроенных функций, которые могли бы это сделать.
Это означает, что вам придется реализовать выполните полнотекстовый поиск самостоятельно или воспользуйтесь сторонним инструментом полнотекстового поиска.