Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
прозрачный для любого Джуниора паттерн
Однако мой код позволяет любому начинающему программисту, за минимальное время, развернуть свое API для мобильного или веб-приложения
Скажите, сколько джуниоров способны моментально интерпретировать современные лучшие практики в рабочий не забагованный проект?
Да и скажите — сколько будут стоить услуги человека, который знаком с этими лучшими практиками не по наслышке.
Я сам не люблю компромиссы, однако, особенно в кризис, я думаю — это уместно.
Статья о том какой подход для бизнеса будет лучшим по соотношению цена/качество
} else view::error("Incorrect data type for: " . implode(', ', $wrong_types), 204); } else view::error("Missing parameters: " . implode(', ', $missing_parameters), 204); } else view::error("Method in developing.", 503); } else view::error("The method '" . $action . "' does not exist.", 204); } else view::error("No params received.", 204); } else view::error("Method was not received.", 204); }
Если в управлении находится джуниор то через како то время он начинает просто путаться в своем же Yii коде
В каждом фреймворке есть свои подводные камни
Скажите, сколько джуниоров способны моментально интерпретировать современные лучшие практики в рабочий не забагованный проект?
orm — вы ясно просто где-то слышали что ORM это для работы с базой данных но понятия не имеете что это такое. Другие же люди путают active record и orm, третьи считают что doctrine это data mapper и не замечают что там помимо этого еще куча всего (orm + unit-of-work + repository + entity manager).любому начинающему программисту, за минимальное время, развернуть свое API для мобильного или веб-приложения.
Притом, он будет наглядно понимать что и как в нем работает.
Да и скажите — сколько будут стоить услуги человека, который знаком с этими лучшими практиками не по наслышке.
В итоге — очень полезный для малого бизнеса инструмент позволяющий проверить гипотезу в течении суток.
Я сам не люблю компромиссы, однако, особенно в кризис, я думаю — это уместно.
Однако, мой код позволяет любому начинающему программисту, за минимальное время, развернуть свое API для мобильного или веб-приложения.
познаем дзен в чистоте
md5(crypt($this->args['password'],SALT)))) {@session_start();
elseif (($value === '0') or ($value === 0))
$value = 0;public function orm($sql, $array, $type){
function __construct() {
try {
include 'db.config.php';
$this->_db->exec('SET NAMES utf8mb4');
} catch (PDOException $e) {
}
}$db = new db();
// some code
$dbTest = new db();@.include_once('api/methods/' . $action . '/parameters.inc.php');if (file_exists('api/methods/'. $action. '/parameters.inc.php')) {маловероятно наличие посторонних ссылок в переменной.
$action = "../../etc/passwd\0";$action = explode('/', $url['path']);
parameters.inc.php в конце.<?php die('konec') ?>include('/controller/action/params') где action параметер будет что то вроде include('controller/<?php die('123') ?>/params') собственно die('123') должен выполниться.if(($var === 'true') || ($var === true))
return true;
elseif(($var === 'false') || ($var === false))
return true;
else
return false;case 'smallint':
return (is_numeric($var) && (strlen($var) == 1)) ? true : false;
break;return expression ? true : false;если блаблабла истина то вернуть истина
иначе вернуть ложьreturn condition ? true : false;return condition;print $query;
die(json_encode(array("Error" => "Syntax error.")));Далее, для понимания всей картины, давайте окинем взглядом архитектуру будущего приложения:
if (!empty($action)) {
if (!empty($_POST) || (substr($action, 0, 4) == 'get_')) {
...
} else
view::error("No params received.", 204);
} else
view::error("Method was not received.", 204);// [1- Проверка данных
if ( empty($action) ) {
view::error('Method was not received.', 204);
return;
}
if (empty($_POST)
|| (substr($action, 0, 4) != 'get_')
) {
view::error('No params received.', 204);
return;
}
// ...и другие if-ы
// -1]
// Отрабатываем логику
$parameters = array();
$missing_parameters = array();
$wrong_types = array();
// ...остальной код бизнес логики case 'boolean':
if(($var === 'true') || ($var === true))
return true;
elseif(($var === 'false') || ($var === false))
return true;
else
return false;
break;if ($var === Null || $var === 'Null').if ($var === Null || $var === 'Null') {
return Null;
}if / elseif (если по обоим условиям возвращается один результат, зачем их было разделять?). Во-вторых, совершенно глупый и бессмысленный else return false (else не нужен). В-третьих, break, который никогда не будет выполнен. В-четвертых, автор реализовал функцию из стандартной библиотеки — is_bool.Так что, я считаю, что все, кто критикует код в данной статье, делают это лично для себя.Например, выше выяснилось, что не только автор этой статьи лишен способности видеть говно в коде. Кому-то пошло на пользу.
Опять же, я не совсем понимаю, для чего вы мне объясняете, что «break» никогда не выполнится?Простите, что?! :-) Я пишу не вам в личку, а публичный комментарий, который логичнее всего смотрится именно в этом месте.
Я пишу не вам в личку, а публичный комментарий, который логичнее всего смотрится именно в этом месте.
RestAPI для веб-приложения на PHP или познаем дзен в чистоте