Skip to content
Snippets Groups Projects
  • xamgore's avatar
    Code refactoring · 898c14e6
    xamgore authored
    1. Discipline models have the direct access to fields, for example: $discipline->subjectName, so you don't have to remember them (press ctrl+space). Improves static code analysis. Also, if you make a mismatch, ErrorException will be thrown — this is the most important improvement.
    
    2. There are some operations on disciplines (attach new teacher, transfer discipline to another teacher, an so on), so you can use them: $discipline->attachTeacher(53).
    
    3. Discipline model has array access operators, so you must not convert instances with toArray() method. A common way is:
    
    /* PHP */
    $d = Model_Discipline::load($id);
    $d['extraField'] = 127;
    $twig->Discipline = $d;  // is ok, cause $d is like an array
    
    /* Twig */
    {{ Discipline.extraField }}   // call $d->offsetGet('extraField') method
    
    4. Models Faculty, Student, Teachers and Groups have `getDisciplines()` method, and an array of Model_Discipline will be returned.
    
    5. We use camelCase for all fields: in twig, on the PHP level and also in the ...
    898c14e6
Forked from it-lab / grade
Source project has a limited visibility.