Phalcon Framework Dersleri – 2 / Veritabanına Bağlanmak ve Model Oluşturmak

Merhabalar, bu dersimizde veritabanı bağlantısı gerçekleştirip model oluşturacağız ve insert işlemini gerçekleştireceğiz.

phalcon php

Uye isminde bir Controller oluşturalım:

<?php

class UyeController extends \Phalcon\Mvc\Controller
{

    public function indexAction()
    {

    }

    public function kayitAction()
    {

    }

}

Daha sonra tutorial/app/views klasoru altında uye isminde bir klasör ve uye klasörünün içinde de index.phtml dosyasını oluşturalım yani şu şekilde olacak tutorial/app/views/uye/index.phtml  dosyamınızın içine de form tanımlayalım :



Kayıt Ol !

Model Oluşturmak

Phalcon tamamen C dilinde yazılan güçlü bir ORM desteğini beraberinde getiriyor. İlk modelimizi oluşturmadan önce veritabanı tablomuzu oluşturalım. Oluşturacağımız tablo kayıt olan kullanıcıların bilgilerini saklayan bir tablo olacak.

CREATE TABLE `uye` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `adi` varchar(70) NOT NULL,
  `email` varchar(70) NOT NULL,
  PRIMARY KEY (`id`)
);

Daha sonra tutorial/app/models/ klasörü içerisinde Uye.php dosyası oluşturun. Modelimiz şu şekilde olmalı :


Veritabanı Bağlantısı Ayarlamak

Veritabanı bağlantısını bootstrap dosyasında tanımlayacağız :

// Veritabanı bağlantısını ayarlıyoruz
    $di->set('db', function(){
        return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
            "host" => "localhost",
            "username" => "root",
            "password" => "123456",
            "dbname" => "test_db"
        ));
    });

Boostrap dosyamızın son hali aşağıdaki gibi olacak :

<?php
try {
    // Autoloader ayarlanıyor ve set ettiğimiz dizinlerden class'lar otomatik olarak yüklenecek.
    $loader = new \Phalcon\Loader();
    $loader->registerDirs(array(
        '../app/controllers/',
        '../app/models/'
    ))->register();
   // Dependency Injection'a daha sonra değineceğiz
   $di = new Phalcon\DI\FactoryDefault();
  // Veritabanı bağlantısını ayarlıyoruz
    $di->set('db', function(){
        return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
            "host" => "localhost",
            "username" => "root",
            "password" => "secret",
            "dbname" => "test_db"
        ));
    });
   // view pathini set ediyoruz.
    $di->set('view', function(){
        $view = new \Phalcon\Mvc\View();
        $view->setViewsDir('../app/views/');
        return $view;
    });
    // uygulamamızın temel url'ini set ediyoruz. Uygulama içerisinde kullanacağımız Phalcon\Tag class'ında oldukça yararı dokunacaktır :)
    $di->set('url', function(){
        $url = new \Phalcon\Mvc\Url();
        $url->setBaseUri('/tutorial/');
        return $url;
    });
    // İçeriği alıyoruz. uygulamaladan gelen tüm verileri yazdırmasını söylüyoruz.
    $application = new \Phalcon\Mvc\Application($di);
    echo $application->handle()->getContent();
} catch(\Phalcon\Exception $e) {
     echo "PhalconException: ", $e->getMessage(); // Hata varsa hata mesajını yazdır.
}

Şimdi ki adımda form'dan aldığımız verileri veritabanına kaydediyoruz :


Gördüğünüz gibi Phalcon'da uygulama gerçekleştirmek oldukça kolay 🙂 Bir sonraki derste Nginx üzerinde Phalcon ayarlarını gerçekleştirerek derslerimize devam edeceğiz 🙂 CYA !