Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
$str = 'select name from names where name="'.$tmp.'"';
Не?
Клиенты не программисты, нужна возможность изменять полностью файл шаблона (заниматься этим будут в основном верстальщики), в шаблонах никакие функции не вызываются, кроме url и еще пары других (модель возвращает уже отформатированные данные).
В общем подумал и сменил шаблонизатор на twig. Там как раз есть то, что мне нужно. Спасибо за помощь.
Понял. Значит придется писать свой, на основе blade, так как он уже используется в проекте, а переписывать все шаблоны на другой - затратно.
Я понимаю, что это просто обертка. Но там ведь можно задать какие функции игнорировать при парсинге. Думал может есть готовое решение для этого.
Проблема в том, что я планирую предоставлять доступ к уже установленному и настроенному продукту на своем сервере (что-то вроде цмс), где клиенты могут загружать свои темы/шаблоны. include, например, запретить не получится, а при помощи него можно считать все исходники и файлы настроек.
Здравствуйте. Столкнулся с такой проблемой - если в файле шаблона набрать код
{{ include("../.env") }}
{{ exec('mkdir ./123') }}
то выведится все содержимое файла и создастся папка.
Есть какая-нибудь возможность запретить доступ из файлов шаблона к файлам фреймворка и разрешить только определенные функции?
config/filesystem.php:
'disks' => [
'local' => [
'driver' => 'local',
'root' => base_path(),
],
...
$files = Storage::files('resources/assets/img');
City::whereHas('streets', function($q) {
$q->where('population', '>',100000));
})->get();
Здравствуйте. Допустим есть модель Posts, в ней есть связь с другой таблицей:
public function category()
{
return $this->belongsTo('App\PostCategory')->select('id', 'name');
}
У привязанной модели я могу выбирать нужные мне данные - айди и название категории. Есть метод или какой-нибудь другой вариант, чтобы можно было делать тоже самое но с основной моделью с постами? То есть выбирать только нужные данные прямо из модели, а не писать каждый раз select в контроллере?
Использовать неймспейсы - тупость?
Данные напрямую указаны, или через env? Тогда нужно еще файл .env отредактировать.
Можно еще перенести все файлы из папки public в корень сайта, затем отредактировать файл index.php:
require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';