Есть организации и есть два способа построить бд это для каждой организации создавать копии таблиц с префиксом
CREATE DATABASE org1 OWNER moshiva;
CREATE DATABASE org2 OWNER moshiva;
local
маппится на /storage/app
, а public
на /storage/app/public
./storage/app/public
в свою очередь линкуется в /public/storage
public
доступен из интернета. диск local
– нет.local
загрузите файл по пути 'piblic/image.png'
то он также будет доступен по адресу site.com/storage/image.png
// Создаем коллекцию:
var dt = new DataTransfer();
dt.items.add(new File([blob], 'FileName.wav', {type: blob.type}));
var file_list = dt.files;
console.log('Коллекция файлов создана:');
console.dir(file_list);
// Вставим созданную коллекцию в реальное поле:
document.querySelector('input[type="file"]').files = file_list;
$str = '1234145577';
$mask = '+7(###)###-##-##';
$i = 0;
$result = preg_replace_callback(
'/#/',
function ($m) use ($str, &$i) {
return $str[$i++] ?? $m[0];
},
$mask
);
echo $result;
abstract class Presister
{
abstract public function factoryMethod(): Post;
public function save(): void
{
$post = $this->factoryMethod();
// сюда логику сохранения
$post->save();
}
}
class FancyPostPresister extends Presister
{
public function factoryMethod(): Post
{
return new FancyPost();
}
}
class RegularPostPresister extends Presister
{
public function factoryMethod(): Post
{
return new RegularPost();
}
}
interface Post
{
public function save(): void;
}