Но вопрос в том, насколько это правильно, с точки зрения паттерна фабричного метода.Чет вы сильно путаете теплое с мягким... Внутренняя реализация классов созданных фабрикой НИКАК не влияет на "фабричность". Паттерн относится только к методу создания готовых объектов по определенным условиям. Какие это объекты вообще не суть важно. По сути они могут быть абсолютно разные, просто по логике чаще всего это однотипные объекты, отличающиеся в настройках или внутренней реализации (например все они реализуют один интерфейс, но внутри работают по разному).
//$role = $_SESSION['role'];
$role = 'moderator';
class Role{
public function checkPermission($action)
{
if(isset ($this->$action))
{
return $this->$action;
}
return false;
}
}
class admin extends Role{
protected $addItem = true;
protected $editItem = true;
protected $deleteItem = true;
}
class moderator extends Role{
protected $addItem = true;
protected $editItem = true;
protected $deleteItem = false;
}
class publicator extends Role{
protected $addItem = true;
protected $editItem = false;
protected $deleteItem = false;
}
class Factory{
public static function createUsers($role) : Role{
if(class_exists($role))
return new $role;
else
echo ("Роль".$role."отсутствует");
}
}
$login = Factory::createUsers($role);
var_dump($login);
// try to use in code:
if ($login->checkPermission('editItem')){
echo 'lets edit!';
};
Как вариант я думал написать говнокод, который на PHP преобразует первоначальную дату диапазона из 26.05.2020 в "2020-05-26 00:00:00" а конечную дату в "2020-05-27 23:59:59" а потом сравнивать, но помоему это какая-то дичь.То есть по вашему преобразовывать ВСЕ строки таблицы для сравнения в формат НЕ ПОДДЕРЖИВАЕМЫЙ интерфейсом бд это ок, а 2 значения привести в стандарт - не комильфо...
<input type="file" name="avatar" accept="image/gif, image/jpeg">
облегчает человеку выбор верного форматаif(isset($file))
не гарантирует что файл загрузился, по этому нужно проверять еще и еррор, перед тем как передавать несуществующие свойства в функцию$permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
ваще жесть, про хэш не слышали? Тем более еще и в разных регистрах называть файлы... Я хочу сделать в панели администратора возможность нажать на checkbox с именем автора и чтобы через ajax просто передало эти три значения (ссылка на фотографию, имя и должность) в базу.Вообще, если авторы у вас как-то записаны в бд, у каждого должен быть id - уникальный ключ, собстно передавать нужно только его. В остальном вопрос не понятен, что там в реализации сложного то?
Можно ли обойтись без CMS в сегодняшних реалиях, и если да, то как выглядит разработка сайта?Сильно зависит. Есть ооочень много подходов, от "дядя Коля, че ты без сайта ходишь как дурак, давай я тебе на джумле быстро сайт за 50 баксов сделаю, гыы...", до уровня серьезных студий, где пишут серьезные проекты на современных фреймворках и с хорошей продуманной архитектурой, и ценник начинается от десятков тысяч убитых енотов, но за эти деньги вам сделают все: тз, дизайн, фирменный стиль, документацию на проект, технические требования, подбор серверной архитектуры етц... Как вы сами сказали - рынок обширен и, добавлю, весьма неоднороден.
Если я пишу сайт к примеру на WP, то как обстоят дела с вёрсткой, что могут программировать фронтэндщики, а что бэкэндщики? Просто много где пишут, что на WP, можно самостоятельно создать сайт, не зная особо программирования, где могут фигурировать программисты?Типовой сайт без особого дизайна и функционала действительно можно поднять в одно рыло буквально за день. Если заморочиться с дизайном - можно либо взять/купить готовые темы, коих сегодня мульён и 2 сверху, или дизайнеру заказать за ценник примерно х2 от готового дизайна, ну, зависит еще от требований конечно. Программист нужен в случаях когда нужно реально что-то такое, что редко встретишь или какая-то специфическая задача под нужды заказчика, все типовые "хотелки" обычно решаются готовыми плагинами. Естественно что все эти прелести имеют серьезный изъян в виде хреновой производительности и кошмарного кода, лезть в который не хочется даже в костюме полной химзащиты.
Могу ли я к примеру написать сайт грубо говоря в блокноте, а потом перенести его на WP?Странный вопрос... скорее всего нет, так как ваш код не будет вписываться в движок вп. И обычно делают наоборот - берут вп и вносят изменения и дополнения на основе его функций.
$("#editSpecification-<?=$tovar_id?>").submit(function(e){...
тут вы повесили листенер на ОДИН конкретный элемент формы, так как тут то у вас цикла нет! Замените селектор на form или на класс формы. Внутри соответственно вы спокойно получите эту конкретную форму как $(this), собственно ее сереализуете и все, профит!а если править второе и последующие то страница просто перегружаетсяэто понятно, так как на них не повешен листенер, форма нормально так себе субмитится, превентДефаулта то на ней нету...
$arr = str_replace('/\s/','',str_split($pin));
будет работать весьма неоднозначно, хотя бы по тому что str_split() не поддерживает работу с мультибайтовыми кодировками. Во вторых она там конечно же нафиг не нужна, так как str_replace() работает со строками в третьем аргументе, но зато не работает с регулярными выражениями в первом, по этому эта строка у вас вообще никак не работает. В остальном все вполне в лучших традициях бредогенераторов.