stenking wrote:Вообщем ищу сениор PHP девелоперов и хочу что бы они написали код перед интервью что бы понять тратить час или нет. Или даже вместо интервью.
Но как правильно заметили тратить много часов непонятно на что никому не охота. Да и скучно. Да и мне это нафиг не нужно - мне хочется посмотреть на качество написанного кода и логику а не результат. Но может ведь можно придумать что-то более простое?
Что-то типа, с помощью вашего любимого CSS, JS, и PHP фраимворка напишите код который при регистрации на форуме на второй странице предлагает ( autosuggest ) юзернейм. На первой странице пользователь уже ввёл своё имя, фамилию и емаил.
Нет? Кто что посоветует?
Например, предложите задачку на пару часов типа регистрация нового пользователя в базе данных в MVC. На любом удобном frameworke, или дайте минимальный шаблон.
После нескольких часов, можете опросить по синтаксису PHP, архитектуре, вобщем будет о чем поговорить
приблизительно так (минимально) как код ниже ...знатоки - пожалуйста критикуйте, но только по делу, а не по мелочам
class Controller
{
protected $_model;
protected $_view;
public __constructor()
{
$this->_model = new Model();
$this->_view = new View();
}
publiс function registerAction()
{
$data['fname'] = $_REQUEST['fname'];
$data['lname'] = $_REQUEST['lname'];
bla bla bla........
....data validation.....
if (!$valid) {
$this->_ registrationError();
}
if ( !$this->_model->registerUser($data) == 'success') {
$this->_registationError();
}
$this->_view->script = 'sucessRegistration.php';
$this->_view->data = $data;
$this->_view->render();
}
protected function _registationError($data)
{
$this->_view->script = 'registrationError.php';
$this->_view->data = $data;
$this->_view->render();
}
}
class Model
{
protected $_conn;
public __constructor()
{
$this->_conn = .........
}
public function registerUser($data)
{
.........write data to DB, return result on success, or false on failure
}
}
class View
{
public $script;
public $data;
public function render()
{
....give $this->data to the script, output the script
}
}
index.php
$contoller = new Controller()
...... based on request or route send to the corresponding action