пути к ключевым словам `new` и` use` - PullRequest
7 голосов
/ 17 августа 2011

Я работаю в принимающей компании, которая использует php 5.2, некоторые библиотеки, которые я использую, написаны на 5.3, и есть определенные несовместимости между кодом.

Прежде всего, что является альтернативой:

use \folder1\folder2\class_file;

Во-вторых, что является альтернативой:

$sample = new \folder1\folder2\class_file($arg1, arg2);

Заранее спасибо.

Ответы [ 2 ]

13 голосов
/ 17 августа 2011

Пространства имен не обратно совместимы с PHP <5.3 </p>

Вам необходимо:

  • удалить все случаи namespace и use операторов
  • переименуйте ваши классы с class_file на folder1_folder2_class_file (или аналогичные)
  • используйте $sample = new folder1_folder2_class_file($arg1, $arg2); для создания экземпляра
7 голосов
/ 17 августа 2011

Я бы сказал, что это зависит от количества кода PHP 5.3 и от того, стоит ли вам ваш проект более 5 баксов в месяц.

Мое основное предложение: Смените хостинг-провайдера.

Если они не предлагают PHP 5.3, версию PHP, выпущенную 30 июня 2009 (то есть два года!), Вам лучше не тратить время на попыткичтобы запустить там ваш проект.

5.3 достаточно зрелый, чтобы его можно было использовать в производстве, а 5.2 достиг конца своего жизненного цикла ( конец поддержки ветви php 5.2 ).

Только не тратьте свое время на создание «старого» приложения из-за какой-то хостинговой компании.

...