
Андрей
18.07.2019
07:10:59

kaktus778
18.07.2019
07:11:02
Могу ссылку на свой дать))

Андрей
18.07.2019
07:11:28

Google

kaktus778
18.07.2019
07:11:32
Он не доделан но может интересно будет

Андрей
18.07.2019
07:13:37
SELECT users FROM ?
через селект нужно выбирать только те данные, которые нужны (* - выбрать всё).
Почитайте про агрегатные функции.

Андрей
18.07.2019
07:14:06
завалилы инфой :D
А эта строка как? Правильно? $test_login = $login_err ?? true;

kaktus778
18.07.2019
07:14:46
Я сам делал драйвер для работы с БД)) все сам без пакетов сторонних)) игрался))

Андрей
18.07.2019
07:16:30

kaktus778
18.07.2019
07:18:53
Ты меня поломать хочешь?)
Там очень примитивно все)) вместо di - реестр и синглтоны)) роутер примитивный)) просто структуру mvc строил для понимания как все должно работать)
Есть поддержка и mysql и sqllite))

Андрей
18.07.2019
07:19:41

Sergey
18.07.2019
07:20:25
Добрый день, пожалуйста подскажите как создать phpunit тест для этого класса если не трудно? Я в этом новенький (https://pastebin.com/udQQL5hk) пол ночи мучался и не смог понять как этот тест построить правильно

Google

kaktus778
18.07.2019
07:20:30

Андрей
18.07.2019
07:25:13

kaktus778
18.07.2019
07:26:58
$res = true ? 'this is true' : 'this is false'
$res = null ?? null ?? null ?? 'not null'
Они для разных случаев

Андрей
18.07.2019
07:32:31
Они для разных случаев
хм, а как потом понять tru и будет ли дальше происходить скрипт, или false, и дальше не пойдет

Алексей
18.07.2019
07:40:50

Андрей
18.07.2019
07:41:27

Алексей
18.07.2019
07:42:32
т.к. если запрос не выполнился, до дольнейшее исполнение кода бессмысленно

Андрей
18.07.2019
07:43:24
Так всмысле?

Алексей
18.07.2019
07:43:55
try {} catch(){}

Андрей
18.07.2019
07:44:13

Алексей
18.07.2019
07:44:16
и обрабатывать такие ситуевины централизованно

Андрей
18.07.2019
07:44:16

Алексей
18.07.2019
07:44:42

Google

Андрей
18.07.2019
07:44:44
Я до вечера с такой инфо не проживу, по тише)

Алексей
18.07.2019
07:45:32

Андрей
18.07.2019
07:49:39
пусть учится
Типо так?) try {
$login_err = $this->select_db("SELECT COUNT(*) FROM `users` WHERE `login`='$this->reg_login'");
if ($login_err == true) {
throw new Exception('<b style="color: red">Данный логин занят!</b><hr>');
}
}
catch (Exception $ex) {
echo $ex->getMessage();
}

Алексей
18.07.2019
07:50:47
так имеет смысл писать толко если перекидывать екскепшен на специфический - свой
try {
$login_err = $this->select_db("SELECT COUNT(*) FROM `users` WHERE `login`='$this->reg_login'");
if ($login_err == true) {
throw new Exception('<b style="color: red">Данный логин занят!</b><hr>');
}
}
catch (Exception $ex) {
throw new MyUserAlreadyExists($ex);
}
потом затраить основной цикл своего приложения

Андрей
18.07.2019
07:52:37

Алексей
18.07.2019
07:53:25
и там писать catch(MyUserAlreadyExists $myUserAlreadyExists){
// @todo код который отвечает за поведение специфичного исключения
}
тем самым ты отколумаешь основной поток исполнения от разрешения ошибок

Андрей
18.07.2019
07:54:32

Алексей
18.07.2019
07:54:43
и когда что то где то поломается, или потребутся изменить формат ответа - не придется ползать по всему коду
в искать где что поломалось и исравляя в милионе мест
твой подход хорош для 3-го курса колледжа
и для приложения на 500-1000 строк максимум
но если больше - это приведет к состоянию клубка с жуками
который через пол года, даже тот динственный человек что понимал что писал, перестанет понимать
вот


Андрей
18.07.2019
10:09:26
Чет у меня не выходит с ООП, подксжите пожалуйста)))
Ват кусок класса: class Reg extends Connect
{
var $reg_login;
var $reg_email;
var $reg_pass;
function connect_db()
{
return parent::connect(); // TODO: Change the autogenerated stub
}
public function __construct($reg_login, $reg_email, $reg_pass)
{
$this->reg_login = trim($reg_login);
$this->reg_email = trim($reg_email);
$this->reg_pass = trim($reg_pass);
}
Пытаюсь передать данные, но ошибка...if (isset($_POST['reg_but'])){
$sv_user = new Reg($_POST['reg_login'],$_POST['reg_email'],$_POST['reg_pass']);
var_dump($sv_user);
}

Алексей
18.07.2019
10:25:02
а откуда родитель должен узнать какие у потомка параметры для подключения?

Андрей
18.07.2019
10:32:30

Google

Andrey
18.07.2019
10:45:58

Алексей
18.07.2019
10:46:49
Что?:D
похоже мы друг друга не поймем

Terminator
18.07.2019
13:06:50
Mihail Petrov будет жить. Поприветствуем!

Dmitry
18.07.2019
13:18:33
как думаете на собесе задать вопрос вроде "что бы вы хотели, что бы вас спросили на собеседовании"... ну и спросить это

Andrey
18.07.2019
13:21:43

Dmitry
18.07.2019
13:22:01
в чем рисковость заключается?

Andrey
18.07.2019
13:22:34
Но если этот вопрос задает собеседующий или HR, то эт норма

Dmitry
18.07.2019
13:22:57
в чем заключается его некорректность?

Andrey
18.07.2019
13:26:20
в чем заключается его некорректность?
В том, что собеседующийся задает этот вопрос HR-у или собеседующему и тем самым:
а) Ставит под сомнение компетентность работодателя (собеседующего и HR)
б) Выставляет себя в довольно невыгодном свете на собеседовании в глазах п. (а)

Dmitry
18.07.2019
13:27:31
А понял. Я не HR, но я собеседую людей. Т.е. хочу задать такой вопрос кандидату, что бы он раскрыл свои сильные стороны (по его мнению)

Terminator
18.07.2019
13:47:52
@Appomart будет жить. Поприветствуем!
@iul_naidenova будет жить. Поприветствуем!

Maksim
18.07.2019
16:26:15
Добрый день, подскажите плиз можно ли стандартными средствами при запуске phpunit выгружать часть базу и на основе дампа создавать тестовую ?

Dmitry
18.07.2019
16:37:34
в setup что хочешь, то и делай
либо брать что-то кодесепшена

Pavel
18.07.2019
16:39:57

Maksim
18.07.2019
16:46:29
https://packagist.org/packages/phpunit/dbunit
немного не то, есть база данных основная, при запуске тестов надо сделать её некий дамп с определенным таблицами. основная задача дамп + импорт в другую базу. или это выходит за рамки phpunit ? нельзя ли в конфигурационном файле до запуска тестов выполнить какой либо task ?

Pavel
18.07.2019
16:48:14
Это выходит за рамки, для создания дампа ты можешь себе сделать composer команду и выполнять ее перед тестами
А вообще unit тесты надо гонять на четко зафиксированных фикстурах, а не на меняющихся дампах

Google

Maksim
18.07.2019
16:50:06

Pavel
18.07.2019
16:51:50
Да, фикстуры должны отражать самую свежую версию БД
вы же проверяете код который работает с новой бд а не со старой

Maksim
18.07.2019
17:04:14

Рома
18.07.2019
17:13:22
ребят, что делать после изучения синтаксиса php(с небольшой практикой для изучения самого синтаксиса) для wordpress/opencart?

Pavel
18.07.2019
17:19:46

Рома
18.07.2019
17:20:10

Pavel
18.07.2019
17:20:14
Там конечно немного реклама но сам видос мне показался полезным для новичков

Terminator
19.07.2019
05:36:03
@jack_manov будет жить. Поприветствуем!

Jack
19.07.2019
05:36:12
Thanks

Terminator
19.07.2019
09:56:03
@Sasha071201 будет жить. Поприветствуем!