class Database{
...
public function __construct(){
try {
$this->conn = new PDO($this->dsn,$this->dbuser,$this->dbpass);
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(isset($_POST['action']) && $_POST['action'] == 'register'){
die('POST WORK');
enum JournalAction: string
{
case Edit = 'edit';
case Add = 'add';
public function translated($replacements=[]): string
{
return Lang::get('journal.' . $this->value,...$replacements);
}
}
$dir = glob('my_files/*.txt');
$last = array_pop($dir);
preg_match('/.*_(\d+)\.txt/', $last, $matches);
$max = empty($matches)? 'null': $matches[1];
echo "Max number: $max";
через php дописать get параметр в адресной строке
//псевдо
if REFERRER has ?сity=mos
return redirect REQUEST?сity=mos
т.е. на странице https://domen.ru/test/?сity=mos
ссылка должна быть сразу https://domen.ru/test_2/?сity=mos
<?php
$daysTranslator = 'ru_Days';
$translator = \Carbon\Translator::get($daysTranslator);
$translator->setTranslations([
'day' => ':count день|:count дня|:count дней',
]);
$date1 = Carbon::create(2018, 1, 1, 0, 0, 0);
$date1before = Carbon::create(2018, 1, 2, 4, 0, 0);
$date2before = Carbon::create(2018, 1, 3, 4, 0, 0);
$date5before = Carbon::create(2018, 1, 6, 4, 0, 0);
$localized=$date1->locale($daysTranslator);
echo $localized->diffForHumans($date1before)."\n";
echo $localized->diffForHumans($date2before)."\n";
echo $localized->diffForHumans($date5before)."\n";
// 1 день до
// 2 дня до
// 5 дней до
//Псевдокод. не проверял.
$lastProductIndex=100000;
// сначала нужно дочитать до <products>
// потом перебирать <product>
while($xmlReader->next("product") && --$lastProductIndex) {
// skip
}
if($lastProductIndex==0){
// тут последний обработанный прошлый раз
}else{
// продуктов стало меньше?
}
<?php
ignore_user_abort(true);
set_time_limit(0);
ob_start();
header('Connection: close');
header('Content-Length: '.ob_get_length());
// можно добавить http статус подходящий
ob_end_flush();
ob_flush();
flush();
// дальше запуск
run_havy_task();
остаются какие-то тройные пробелы.. хотя в регулярке убираю
echo str_replace(['a','b','c'], 'c', 'ab'); // 'cc'
но ничего не получается- плохой диагноз.
FixMoney($data[$user['cash']]);
пользователь не реализует контракт "MustVerifyEmail"
class User extends Authenticatable implements MustVerifyEmail
curl -H "x-app-key: {appkey}" \
categories
id (PRIMARY)
title
parent_id
order
while($channel->is_open()) {
$channel->wait();
}
while(count($channel->callbacks)) {
$channel->wait();
}
# Строку запроса нужно сформировать, добавив (?,?,?,?,?) по количеству элементов в массиве.
$sql = 'insert into table (snippet, amp, date, anchor, link) values (?,?,?,?,?), (?,?,?,?,?)...';
$stmt = $pdo->prepare ($sql);
# массив параметров - добавить все значения из $data так, чтобы порядок следования
# совпадал с values (?,?,?,?,?) в $sql
#/// конечно не так как тут
$params =[$data[0]['snippet'],$data[0]['amp'],$data[0]['date'],$data[0]['anchor'],$data[0]['link'],...]
$stmt->execute($params);
VALUES (:snippet, :amp, :date, :anchor, :link)
используются именованные параметры pdo. Из за этого приходится выполнять вставку в БД несколько раз. Запрос на вставку сразу нескольких строк выполнится быстрее.(?,?,?,?,?)
-анонимные (unnamed) параметры. Значения для них выбираются из массива параметров по порядку следования. Количество знаков ?
и элементов в $params должно быть одинаковым.