Я исхожу из процедурного PHP и изучаю ООП с помощью Laravel. То, что я узнал до сих пор, очень интересно и облегчит жизнь разработчикам (это не моя работа). Итак, для всех моих веб-сайтов я использую свойство slug для всех статей, категорий и т.д. Я начал использовать "str_slug", предоставленный Laravel, который, похоже, выполняет эту работу на 99%. Проблема, которую я получаю, это когда у меня есть такой титул (на французском): "J'ai mangé une pomme", строка пули, которую я получаю, это: "jai-mange-une-pomme", который на французском языке неверен. Я бы хотел "j-ai-mange-une-pomme".
Это не проблема. Я могу сделать:
$slug = str_replace('\'','_',$input['name']);
$slug = str_slug($slug, '-');
Мне это подходит, но мне интересно, как использовать в любое время, когда я хочу его использовать. Я не хочу писать это снова и снова и снова. В процедурной, простой, я хотел бы написать функцию, такую как thePerfectSlug(){}
в файле helpers.php (еще пример), и будет использовать include в верхней части моего index.php. Это сработает.
Но в ООП и особенно в Laravel (5.1), как я могу это сделать?
благодаря
Вы все еще можете добиться этого с нормальной функцией. Laravel использует свою собственную функцию, которая хранится в файле helpers.php. Вы можете создать свой собственный файл helpers.php и добавить его в свой основной файл composer.json на autoload.files.
Если вы хотите сделать это с помощью OOP, создайте свой метод, например App\Traits\Sluggify, и используйте его в любом классе, который ему нужен.
public static function
а функция, которая ее вызывает, написана в helpers.php. Должен ли я сделать то же самое? Почему бы не использовать напрямую то, что написано в Str.php? Извините, если этот вопрос звучит действительно нуб :).