Calendário PHP Orientado a Objetos

Olá Pessoal,

Em 2007/2008 tive a necessidade de apresentar uma agenda de eventos em um site. Procurei na internet e nada consegui para atender o meu objetivo. Como estava cursando ciência da computação, pensei: deveria fazer minha própria agenda. Mergulhei na documentação do php.net/date para entender as funcionalidades e desenvolver o meu algoritmo.

Depois de ter publicado aquela agenda, peguei a base de código, totalmente estruturado e publiquei no fórum do iMasters.

Hoje desenvolvi uma verão da agenda usando o paradigma de Orientação a Objetos e alguns padrões de desenvolvimento para melhor atender a minha necessidade.

Partirei do princípio que tu tens PHP 5.3+ e MySQL instalado no teu ambiente local. E que, tudo está rodando sobre um servidor Apache 2+.  Para entender melhor, vamos baixar o código fonte do repositório https://github.com/gasparteixeira/AgendaPHP.

  1. Crie o banco de dados usando o client MySQLWorkbench ou PHPMyAdmim;
  2. Atualize as informações, relativas ao seu ambiente local, no arquivo libs/utils/Conexao.class.php;

    conexao.class.php

    namespace libs\utils;
    
    define('DB_SERVER','localhost');
    define('DB_USER','root');
    define('DB_PASSWORD','');
    define('DB_NAME','db_agenda');
    
    class Conexao {
    
        static $instance;
    
        function __construct() {
            
        }
    
        static function getInstance() {
            if(!isset(self::$instance)) {
                self::$instance = new \PDO("mysql:host=".DB_SERVER.";dbname=".DB_NAME, DB_USER, DB_PASSWORD, 
                        array(\PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
                self::$instance->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
                self::$instance->setAttribute(\PDO::ATTR_ORACLE_NULLS, \PDO::NULL_EMPTY_STRING);
            }
            return self::$instance;
        }
        
    }

Qualquer dúvida, manda um comentário. Abraço!