Skip to content

Instantly share code, notes, and snippets.

@Vrtak-CZ
Last active August 31, 2016 22:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Vrtak-CZ/6d6d1733e8941bffbac751318e59d31e to your computer and use it in GitHub Desktop.
Save Vrtak-CZ/6d6d1733e8941bffbac751318e59d31e to your computer and use it in GitHub Desktop.

Zadání pro lektory

  1. Vem kód,
  2. forkni ho,
  3. přidej 2 chyby.

Pak forky projedu a pospojuju.

Cílem je soubor o ~100 řádcích, tak přidávej metody a třídy!

Přihlášení účastníci ho pak budou muset projít, chyby najít, opravit a odůvodnit proč. Stejný úkol byl použitý pro Java Codecamp

Jaké chyby tam dát?

ANO

  • PHP 5.4+
  • logické myšlení
  • přehlednost
  • budeme učit Symfony, takže i nějaké MVC myšlení
  • SOLID patterns, spíš ty jednodušší
  • něco, co v práci často opravujete a považujete to za obecnou znalost
  • refaktoring

Např. Dependency Injection.

NE

  • překlepy
  • super PHP internals, hashmapy, efektivita atd.
  • super expertní znalosti
  • akademické chytáky ve stylu "hi" + 5, které vám IDE odhladí
  • vůbec ne nic, co dokáže IDE odhalit; netestujeme IDE
  • PHP 7.1, moc zkušené lidi nechceme1
<?php
namespace App {
class AppContainer extends FrameworkContainer
{
public function get($service) {
$method = sprintf('createService%s', lcfirst($service));
return isset($this->services['$service']) ? $this->services['$service'] ? call_user_func([$this, $method]);
}
public function createServiceConnection()
{
return Connection::create($_SERVER[SERVER_ADDR] = "127.0.0.1" ? 'development' : "production")
}
}
}
class AbstractAdminController extends FrameworkController
{
/**
* @var Connection
*/
public $connection;
public function __construct()
{
$this->connection = AppContainer::get('connection');
}
}
@TomasVotruba
Copy link

Díky, můžeš máznout

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment