'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=mydatabase',
'username' => 'root',
'password' => '',
'enableSchemaCache' => true,
// Duration of schema cache.
'schemaCacheDuration' => 3600,
// Name of the cache component used to store schema information
'schemaCache' => 'cache',
],
$arr = explode(',', $str);
foreach ($arr as $value) {
$new_arr[] = trim($value);
}
Где то прочел что обычно срок поддержки 7 лет, то получается, что у 16го осталось года 4 поддержки, поправьте если это не так))
function generateTFilter($numT) {
$filter = "";
for ($i = 1; $i <= $numT; $i++) {
$filter .= " OR t{$i} > 0";
}
return ltrim($filter, " OR");
}
$numT = 17; // Укажите нужное количество переменных t
$sql = "SELECT * FROM products WHERE category = ? AND (" . generateTFilter($numT) . ")";
for ($i = 0; $i < $count; $i++) {
sleep(5); // Я бы тут поигрался с sleep.
// $html = curl_get($silka[$i]); // Ссылка на сериал
// А вот тут я бы проверял, что запрос дошел. Можно кастомизировать, но в простом случае
$stopAsking = false;
$countRequests = 0;
while (!$stopAsking) {
try {
$html = curl_get($silka[$i]); // Здесь в функции выбрасывайте исключение и ловите его с помощью https://www.php.net/manual/en/function.curl-error.php
$stopAsking = true;
} catch (Exception $e) {
sleep(1); // Подвязать логику слипа на количество запросов
$countRequests++;
if ($countRequests > 5) {
$stopAsking = true; // И прерывать действие части скрипта, которая делает запрос на сервер.
}
}
}
if ($countRequests > 5) {
continue;
}
$dom = str_get_html($html); // Парсить страницу
$finds = $dom->find('.added-info');
foreach ($finds as $find) {
$tfind = trim($find->plaintext);
if ($series[$i] === $tfind) {
echo $id[$i];
sleep(5); // У вас это запускается только в случае, если будет finds. В принципе, sleep тут не нужен уже, так как выработаете с готовой страницей. Но, например, если $finds = $dom->find('.added-info'); - не будет, то следующий запрос будет моментален.
} else {
$sql = "UPDATE `seria` SET `series` = '$tfind' WHERE `seria`.`id` = $id[$i]";
$mysql->query($sql);
message_to_telegram("Вышла новая серия" . $series[$i] . $silka[$i]);
echo $id[$i];
}
}
}
Yii::$app->session->setFlash('success', 'Операция выполнена успешно!');
("хорошо" or "прекрасно" or "отлично" or "пойдет")
$model = new JobOrderDetail();
$model->load($arrayData, ''); // '' = formname or empty string
if ($model->validate()) {
// все данные корректны
} else {
// данные не корректны: $errors - массив содержащий сообщения об ошибках
$errors = $model->errors;
}
$model = new Model;
foreach ($array as $key => $value) {
$model->$key = $value; // правда надо проверить на существование property в модели.
}
Тем не менее сейчас я столкнулся с тем, что на собеседованиях начинают спрашивать что серьезного доводилось делать на чистом php - без фреймворков и мои ответы на их вопросы касательно парсеров, скиптов для обмена данными остаются неубедительными. Даже дальше кадровиков иногда дело не уходит.
Еще спрашивюат какие патерные проектирования используешь, придерживаешься ли принципов Solid?
А сейчас я не только ради прохождения собеседований, но и ради повышения скилла хотел бы углублённо погрузиться в написание кода без фреймворков. Но как к этому подойти? Не писать .же бложег или интернет-магазин на чистом php?
Может начать с изучения PSR
от него начать писат простой psr фреймворк как это делал Дмитрий Елисеев?
Или просто взять симфони и начать писать на ней чтоб понять суть вещей глубже и потом козырять своими скиллами на собеседованиях, что, мол, ,я тут на Симфони пишу, а вы мне тут вопросы для школьников задаёте?
Короче расскажите мне про роудмеп погружения в php. Теорию я и так знаю - книги по php читал.