Тесты php онлайн

grigori

( ͡° ͜ʖ ͡°)
Команда форума
сейчас современные все фв ставятся через танцы с бубмном с компоузером и настройкой приложения - а это уже час-два
Если надо авторизацию и регистрацию (опять же я не знаю задание, но думаю оно там есть) - еще час-два
это ты заказчикам рассказывай :)
F5, include, и нахер с пляжа - у тебя уже есть фв, на котором ты пишешь.
регистрация с логином уже написаны в мануалах,
-2 часа )))
 

Absinthe

жожо
Ларавел, он в деталях "фигак-фигак", но архитектурно более продуман. Просто писать на нем надо не так, как в туториалах ;)
Еще у него плюс: он очень простой, очень мало кода. А внутри все компоненты родные, симфоневские.
 

fixxxer

К.О.
Партнер клуба
grigori, ну понятно, тут скорее в чем лучше разобрался. Хотя мне показалось, что для избавления от Yii::$app многовато усилий требуется. Впрочем, я давно смотрел, когда там подобие di-контейнера только появилось.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
важно не наплодить 100500 компонентов, чтобы вызывать их из шаблонов, как народ делает,
при правильном кормлении он остается милым и пушистым, а вся логика идет в независимые модели
guns don't kill people(C)
 
Последнее редактирование:

fixxxer

К.О.
Партнер клуба
Не, ну стандартный вью с вот всеми этими chtml и jquery-дерьмом это вообще какая-то хрень :) Это понятно что сразу нафиг
 

AnrDaemon

Продвинутый новичок
Полюбовался на зендовский вопросник.
Напрочь убил ответ на код
PHP:
interface I1
{
  public function doSomething();
  public function doSomethingElse();
}
interface I2
{
  public function doSomething();
  public function doSomethingOther();
}
class myClass implements I1, I2
{
  function doSomething()
  {
    print '...';
  }

  function doSomethingElse()
  {
    print '...';
  }

  function doSomethingOther()
  {
    print '...';
  }
}
$a = new myClass();
$a->doSomething();
"Fatal error"
С чего фатал то, обычный такой код…
 

Вурдалак

Продвинутый новичок
AnrDaemon, что тут обычного, конфликтующие контракты. Пользовать контракта I1::doSomething() может ожидать что-то одно, а пользователь I2::doSomething() — другое. А там вообще может быть третье. Если doSomething() обозначает одно и то же, то нужен отдельный интерфейс и наследование интерфейсов.
 

AnrDaemon

Продвинутый новичок
Я понимаю, что логика именно такая.
Вот только функционально код рабочий и ошибок не вызывает.
 

whirlwind

TDD infected, paranoid
Блин, когда уже тесты начнут выявлять насколько разработчик умеет писать хорошо, а не сколько грязных хаков он знает и как часто делает одну и туже ошибку. Для таких вопросов обязательно должен быть вариант ответа: Оторвать нахрен руки такому проектировщику. Кому эти гребаные загадки нужны в реальных проектах?
 

WMix

герр M:)ller
Партнер клуба
тут важно только что обратили внимание. на этот вопрос можно набрать более 100% написав правильный ответ!
 

hell0w0rd

Продвинутый новичок
whirlwind, никогда. Нет таких тестов. Тесты придумали для того, чтобы дать глупым людям шанс.
Во время собеседования, или сдаче экзамена ты можешь показать что плохо разбираешься в одной теме, но отлично понимаешь другую и собеседующий поймет твой уровень. То есть единственный способ сделать тесты хоть что-то значущими - добавить ИИ, или человека.

PS например в ЕГЭ по математике есть задачка в простой части, что-то с тригонометрией, которую можно решать (во всяком случае когда я сдавал) в уме обычным перебором, 1, 0, -1, потому что остальные ответы включают π, а в бланк ответов его нельзя вписать:)
 

whirlwind

TDD infected, paranoid
> единственный способ сделать тесты хоть что-то значущими

Как минимум убрать варианты ответов, исключив принцип лотереи. Хотя, с точки зрения эволюции возможно, такие тесты не такое уж зло. В конкурентной среде результат это не только следствие поведения отдельных индивидумов или их взаимодействия. Сама среда (иначе говоря - случай) часто тоже вносит свою лепту. Иногда очень весомую. А там кто его знает, что в итоге поможет выжить, конкуретное преимущество или конкурентный недостаток.
 

scorpion-ds

Новичок
а кодогенератором ты чужую верстку получаешь? =))
Ну в моем понимании, кода генератором как-то глупо делать тестовое задание, наверняка заказчик хочет увидеть код разработчика, а не тот который был сгенерирован.

В общем бандлы, сущности я разумеется сгенерировал, но интерфейс и форму добавление сделал сам. Делал в несколько подходов, но в целом таки ушло часов 6, затупил на часик на создании связи 1к1, так и не понял в чем же была беда, почему-то не ставилось каскадное удаление, но потом все заработало. Задачу проверили, все нормально.

https://github.com/CoreSite/MovieDatabase-test
 

Absinthe

жожо
Вышла третья редакция книги Zend Certification Study Guide
Сомнения вызывают некоторые разделы, такие как security (все данные надо фильтроать) и phpdbg (зачем он в текущем недоделанном виде?).
 

scorpion-ds

Новичок
Ну сколько можно микроскопом забивать гвозди https://github.com/CoreSite/MovieDatabase-test/blob/master/src/CS/MovieDatabaseBundle/Controller/DefaultController.php#L23
И вообще, хоть и симфони, а код всё такой же с нерезолвящимися зависимостями и псевдо ООП.
Подобные примеры у них в документации. Это можно было как-то более правильно написать?

В некоторых случаях, для получения объектов я использую сервисы, получается что-то вроде фабрики, но здесь думаю это избыточным.
 
Сверху