2017/05/07

Phalcon Ders 11 - Scaffold Kullanımı

    Scaffold, genellikle veritabanı işlemleri yapacağımız basit CRUD(Create, Read, Update, Delete) uygulaması yapımında kullanılır. Bu işlemlerin yapılacağı bir iskele oluşturur. Temel işlemler hazır gelir, gerisi düzenlersiniz.

    Scaffold işleminden önce bir veritabanı ve tablonuzun olması gerekir.



    Öncelikle proje dizininize Uçbirim ile girin. Ardından gerekli phalcon kodlarını yazmaya başlayabiliriz.

phalcon scaffold kategoriler



    Dosyalarda görebileceğiniz üzere bu komutun ardından tablomuza ait bir Model, Bir Controller ve bir de View klasörü oluşturuldu. View klasöründe ise dört adet dosyamız oluşturuldu. (edit, index, new, search) Bu dosyalar otomatik olarak .phtml uzantılı oluşturuluyor. Eğer volt dosyaları oluşturmak istiyorsanız bunu ayrıca belirtmeniz gerekiyor. Yeni bir tablo oluşturalım.



    Şimdi volt dosyaları kullanarak scaffold komutunu yineleyelim.

phalcon scaffold uyeler --template-engine=volt

    Bu komutun ardında aynı dosyalar bu kez uyeler tablosu için oluşturuluyor. Ancak bu kez View dosyaları .volt uzantılı oluşturuluyor. Kullanmak istediğiniz template engine hangisi ise ona göre komut girebilirsiniz.



    Her iki template engine birden kullanılabilir mi derseniz evet kullanılabilir. Aşağıdaki görselde her ikisinin de aynı anda kullanılabildiğini ve scaffold sonrası nasıl bir sayfa oluştuğunu görebilirsiniz.



    index sayfası bir arama sayfası olarak çalışıyor. Tablo adınızla birlikte Create linki oluşturulmuş durumda. Create sayfasına geçip tablonuza göre gerekli bilgileri girip Save butonuna bastığınızda başarıyla oluşturulmuş olduğunu görebilirsiniz.



    Arama kısmına bilgi girip arama yaptığınızda artık var olan kayıtlar üzerinde düzenleme(edit) ve silme(delete) işlemleri yapabilirsiniz.




    .phtml ya da .volt dosyaları üzerinden bu görünümleri ve İngilizce olan kısımları istediğiniz gibi düzenleyebilirsiniz elbette.
Paylaş:
Devamını Oku

2017/05/05

Phalcon Ders 10 - Linux Kurulum (Linux Mint)



    Phalcon Ubuntu kurulumunu daha önceki derslerde anlatmıştık. Linux Mint de bir Linux sürümü ancak phalcon kurarken farklı birkaç şey de yapmamız gerekiyor. Çünkü phalcon resmi olarak Linux Mint dağıtımını desteklemiyor. O yüzden kurulumu şu şekilde yapmamız gerekiyor. Öncelikle bir Uçbirim açın ve aşağıdaki kodu yazın:
    curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.deb.sh | sudo bash

    Ardından bir düzenleme yapmamız gerekiyor. Aşağıdaki kodu Uçbirimden yazın:

 sudo nano /etc/apt/sources.list.d/phalcon_stable.list

    Burada nano kullanılıyor. İsterseniz farklı bir metin editörü de kullanabilirsiniz. Bu dosya içerisinde değiştirmeniz gereken yerler var. Aşağıdaki kısmı bulun:

 deb https://packagecloud.io/phalcon/stable/linuxmint/ serena main # (Linux Mint 18.1 için serena)
deb-src https://packagecloud.io/phalcon/stable/linuxmint/ serena main # (Linux Mint 18.1 için serena)

    Linux Mint 18.1 için serena yazıyor, farklı bir sürüm için o sürümün adı yazacaktır. Bu kodları aşağıdaki kodlar ile değiştirin:

deb https://packagecloud.io/phalcon/stable/ubuntu/ xenial main
deb-src https://packagecloud.io/phalcon/stable/ubuntu/ xenial main

    Ubuntu 16.04 dosyalarını kullanacağız. Ardından sırasıyla aşağıdaki kodları yazın:

sudo apt update
sudo apt install php7.0-phalcon -y
sudo service apache2 restart

    Developer tools kurulumu için Ubuntu ile aynı adımları izleyebilirsiniz.

Paylaş:
Devamını Oku

2017/05/04

Phalcon Ders 9 - View Kullanımı

    View, son kullanıcıya sunulan görünümlerdir. Yapılan işlemlerin sonuçları kullanıcıya nasıl gösterilecekse View bu işlemi yapar.
    Özellikle Phalcon’da, View, Volt , PHP ve HTML kodlarından oluşur. Volt mode içinde kullanılan belirli özel kullanımlar vardır. {%.......%} işaretleri ile for döngüsü gibi ifadeler kullanılır. {{.......}} işaretleri ile ise ekrana bir şeyler yazdırılır.

Phalcon içinde View temel olarak ikiye ayrılır:

- Volt
- phtml

Volt

    Aşağıdaki resimde önceki derslerde oluşturduğumuz demo1 projesinin çıktısını görebilirsiniz. Bu görünüm, views/index/index.volt dosyasından sağlanıyor.



Volt Dosyalarının Özellikleri

- C dili ile yazılmış bir şablondur ve diğer dillere kıyasla oldukça hızlıdır.
- Phalcon'da çok faydalı olan, yüksek oranda entegre edilmiş bir takım bileşenler içerir.
- Ayrıca tek başına bir bileşen olarak da kullanılabilir.
Değişkenler

Dizi tanımlama:
{% set meyveler = [‘elma’, ‘armut’, ‘erik’] %}

String tanımlama:
{% set ad_soyad = “Aprın Çor Tigin” %}

Yorum Satırları:
{# Bu satırlar yorumdur
{% set tanim = “burası işlenmez!!!” %}
#}

Örnek:
    views/index/index.volt dosyasını açın ve içindeki her şeyi silin. Ardından aşağıdaki kodları yazın ya da kendiniz bir şeyler yazın.

    Bunları silin:

    Kodlarınızı yazın:

    Son çıktı:



Paylaş:
Devamını Oku

2017/05/03

Phalcon Ders 8 - Model Kullanımı

    Model, veritabanı ile işlem yapmayı sağlayan katmandır. Güncelleme, silme, ekleme vb. işlemleri yapar.
    Phalcon ile Model işlemlerini yapmak için aşağıdaki adımları izleyin:

    - http://localhost/phpmyadmin adresinden yeni bir veritabanı oluşturun:




    - Veritabanını oluşturduktan sonra bir tablo oluşturun.   



      - Tablo oluşturduktan sonra, metin editörünüzü kullanarak app/config/config.php dosyasını açın. Aşağıdaki resimde olduğu gibi veritabanı ayarlarınızı yapın:



      - Proje dizininde uçbirim açın, aşağıdaki kodu kullanarak yeni bir model oluşturun:

    phalcon model kullanicilar
      (kullanicilar, benim kullandığım tablo adıdır. Tablo adı olarak ne yazdıysanız buraya da onu yazın!)




      - Daha sonra bu model için bir Controller oluşturmamız gerekiyor. Uçbirimden yazalım:

    phalcon controller kullanicilar




      - Model ve Model’i kullanacak Controller oluşturuldu. İsterseniz KullanicilarController.php içinde bir şeyler yazdırabilirsiniz. Veri çekme, ekleme, silme vb. işlemler daha sonra işlenecek...



    Paylaş:
    Devamını Oku

    2017/05/02

    Phalcon Ders 7 - Controller

        Controller tarafından gerçekleştirilen eylemler, parametreleri View katmanına iletmeye yardımcı olur, böylece kullanıcı girdisini buna göre görüntüleyebilir ve yanıt verebilir.

        Örneğin,biz kullanıcıdan e-posta, kullanıcı adı vb. bilgileri bir kayıt formu aracılığıyla aldık ve kullanıcı kayıt ol butonuna bastı. Bu durumda işlenecek bilgiler Controller içerisindeki ilişkili action ya da function aracılığıyla gönderilir.

        Özetle, Kullanıcıların View üzerinden gerçekleştirdiği işlemlerle alınan veriyi Model’e taşır, Model’den aldığı veriyi View üzerinden kullanıcıya gösterir. Yani View ile Model arasında bir köprüdür.
    (Kullandıkça ne iş yaptığı daha iyi anlaşılacaktır.)

    Adım Adım Controller Oluşturma

        Öncelikle uçbirim ile proje dizinine girin:


        Ardından aşağıdaki komutu kullanarak bir Controller oluşturabilirsiniz:


    phalcon controller <controller-adı>


    Not: Controller sınıf adlarının sonuna “Controller” son eki getirilmelidir. Uçbirim ile oluşturduğunuz Controller’a otomatik eklenecektir. Ayrıca YAZMAYIN!

    Varsayılan olarak, oluşturduğunuz her Controller, IndexController ile birlikte gelir.


    Kod:



    Çıktı:


    Paylaş:
    Devamını Oku

    2017/05/01

    Phalcon Ders 6 - Config Yapısı

        Bu yazıdaki kısımlar temel bilgilendirme amaçlıdır. Uygulamalı ve ayrıntlı anlatımlar sonraki eğitimlerde verilecektir.

    Config dizini içerisinde 4 farklı ayar dosyası var:
    • config.php
    • loader.php
    • router.php
    • services.php

    config.php
        Veritabanı bağlantı ayarları ile proje dizin yollarını barındırır.


    loader.php


        \Phalcon\Loader() sınıfını kullanır. Projenin ihtiyacı olan dizinleri belirtir.


    services.php

        Basitçe, config dizini içerisindeki tüm servislerin kapsayıcısıdır. Veritabanı bağlantısı, cookie ayarlamaları, session oluşturma ya da NoSQL veritabanı bağlantısı gibi tüm servisleri hazırlamanıza yardımcı olur.


    router.php

        Basitçe, projenizde gerekli route ayarlarını yapmanızı sağlar.


    Paylaş:
    Devamını Oku

    2017/04/28

    Phalcon Ders 5 - Proje Oluşturma

        Proje oluşturma aşamasına geçiyoruz. Bundan sonra anlatılacaklar işletim sistemine göre farklılık göstermemektedir. Ubuntu’da uçbirim olan Windows’ta komut istemi(cmd) dir. Yazmanız gerekn komutarda hiçbir değişiklik yapmanıza gerek yok.
        Proje oluşturmak için developer tools seçeneklerini kullanacağız. Öncelikle bir uçbirim (terminal) açıyoruz. Uçbirimi kullanarak projeyi oluşturmak istediğiniz dizine geçin. Kullanılabilir komutları görmek için phalcon komutunu vermemiz gerekiyor.(Zorunlu değildir. Yalnızca komutları görmek isterseniz bu komutu kullanın. Onun haricinde yalnızca proje oluşturma komutunu girerek projenizi oluşturabilirsiniz.) Komutları gördükten sonra proje oluşturmak için gerekli komutu girelim:

    phalcon project demo1


        Burada “demo1” projemizin adıdır. İstediğiniz herhangi bir ad verebilirsiniz. (Türkçe karakter olmayacak!) Komutu verip Enter tuşuna bastığınızda projenin başarılı bir şekilde oluştuğunu belirten mesajları göreceksiniz. Sonuç aşağıdaki görseldeki gibi olacak:

        Tarayıcınızdan http://localhost/demo1 bağlantısına girmeye çalıştığınızda Linux sistemlerde aşağıdaki gibi bir hata alabilirsiniz (Windows’ta bu hatayla karşılaşmadım.):


        Bu hatayı çözmek için yazmamız gereken kodlar var. Uçbirimden devam ediyoruz:


    sudo gedit /etc/apache2/apache2.conf

        Komutu yazarken etc den önce / işareti gelmesine dikkat edin. (Görselde unutulmuş.) Yoksa doğru dosyayı açamazsınız. Ardından:


    <Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride none
        Require all granted
    </Directory>

        Bu kısımdaki “none” yazan yeri “All” olarak değiştiriyoruz ve dosyayı kaydediyoruz. Daha sonra:

    sudo a2enmod rewrite

    komutunu veriyoruz. Son olarak da apache server’i yeniden başlatmamız gerekiyor:

    service apache2 restart

        Yönetici şifrenizi soracak. Şifrenizi yazıp onaylayın. Ardından localhost sayfanızı yenileyin. Aşağıdaki gibi bir ekranla karşılaşacaksınız:


        IndexController adlı class bulunamıyor hatası veriyor. Bu hata bir harfin yanlış yazılmış olmasından kaynaklanıyor. Aşağıdaki görsele bakarak düzeltin:



       
        indexController.php dosyasının baş harfi küçük. Bunu büyük harfle değiştirin. (İ değil I yapın)


        Ve son olarak aşağıdaki gibi bir hata ile karşılaşabilirsiniz, çözümü görseldeki komutları girmektir:



        Önce proje dizininize girin. Ardından cache klasörüne gerekli yazma izinlerini vermemiz gerekiyor. Komutlar sırasıyla şöyle:

    cd demo1
    chmod -R a+w cache

        Bu komutlardan sonra localhost sayfanızı yenileyin. Tebrikler, projenizi oluşturdunuz ve çalışmaya hazırsınız :)


        Yinelemekte yarar var: Bu hatalar Ubuntu 16.04 (Yani Linux) sistemde oluşuyor. Windows’ta karşılaşmadım.
    Paylaş:
    Devamını Oku

    2017/04/27

    Phalcon Ders 4 - Developer Tools Linux Kurulum


        Phalcon kurulumunu yaptıktan sonra phalcon araçlarını uçbirim (terminal) aracılığıyla kullanmak için Developer Tools (Geliştirici Araçları) da kurulmalı. Böylece uçbirim ekranında phalcon komutunu verdiğimizde phalcon araçlarını kolaylıkla kullanabiliriz. Şuan bu komut verdiğimizde hata alıyoruz:



        Developer Tools (Geliştirici Araçları) kurulumu için öncelikle dev-tools dosyalarını bilgisayarınıza indirmeniz gerekiyor. Bunun için GitHub sayfasına girin:


        Bazı durumlarda master branch sorunlar çıkarabiliyor. O yüzden 3.0.x sürümünü indirmenizi öneririm. Aksi durumda hatalarla karşılaşabilirsiniz. İndirdiğiniz dosyayı zip’ten çıkarın ve home dizini içerisine kopyalayın. Klasör adı phalcon-devtools olarak anltıyorum. Farklı bir ad kullandıysanız phalcon-devtools yazdığım yerlerde kendi klasör adınızı yazın. Şimdi uçbirim açın ve aşağıdaki kodu yazın. Baş tarafındaki . (nokta) işaretini koyayı unutmayın. İki tane nokta var ve aralarında bir boşluk var. Alttan kopyala/yapıştır yapabilirsiniz.

    cd phalcon-devtools/
    . ./phalcon.sh



        Ardından yazmanız gereken iki komut daha var:

    ln -s ~/phalcon-devtools/phalcon.php /usr/bin/phalcon
    chmod ugo+x /usr/bin/phalcon

        Phalcon için kısayol oluşturuyoruz ve artık uçbirimde phalcon yazdığımızda hata almıyoruz:



    Paylaş:
    Devamını Oku

    2017/04/25

    Phalcon Ders 3 - Linux Kurulum (Ubuntu)


        Öncelikle sisteminizde LAMP kurulu olmalı. Ardından phalcon deposunu eklemeniz gerekiyor. Bunun için kullanmanız gereken kod:

    curl -s "https://packagecloud.io/install/repositories/phalcon/stable/script.deb.sh" | sudo bash

        Ardından phalcon yüklemesine geçebilirsiniz. Bunun için yapmanız gereken Ubuntu sürümünüze göre alttaki kodlardan birini yazmanız:

    # ESKİ SÜRÜMLER İÇİN
    sudo apt-get install php5-phalcon

    # Ubuntu 16.04+, Debian 9+
    sudo apt-get install php7.0-phalcon


        Yükleme tamamlandıktan sonra apache server’i yeniden başlatmanız gerekiyor. Bunun için: 

    service apache2 restart

        Ardından http://localhost adresine gidin ve phpinfo bilgilerine bakın. Eğer kurulum başarılıysa aşağıdaki gibi bir görüntüyle karşılaşacaksınız.


    Paylaş:
    Devamını Oku

    2017/04/24

    Phalcon Ders 2 - Windows Developer Tools Kurulumu (Xampp)


        Öncelikle developer tools dosyalarını Github üzerinden indirmeniz gerekiyor.


        Sayfaya girdikten sonra Clone or Download butonuna tıklayın ve Download ZIP seçeneğini seçin. İndirdiğiniz zip dosyasını C:\ dizinine çıkarın. Klasör adı olarak phalcon-devtools kullanın. (Farklı bir ad kullanacaksanız bundan sonraki kısımlarda kullandığınız adı yazın.)

        Dizin içerisindeki phalcon.bat dosyasına sağ tıkalyın, düzenleyi seçin. (Ya da herhangi bir metin editörü ile açın.) Ardından içeriğini aşağıdaki gibi düzenleyin.

    @echo off

    set PTOOLSPATH=C:\phalcon-devtools\
    php %PTOOLSPATH%phalcon.php %*

    kaydedin ve kapatın.


        Geliştirici araçlarının çalışması için bulunduğu dizini PATH içerisine eklemeniz gerekiyor. Bunun için yapmanız gereken:


    Bu kısmı dikkatli yapın.
        Path kısmına eklemeniz gereken yazı: 

    ;C:\xampp\php; C:\phalcon-devtools

    (phalcon-devtools dizini için farklı ad verdiyseniz onu kullanın. Her dizin bildirimi arasında “;” tırnak işaretleri olmadan bulunması gerekir. İlk açtığınızda satır sonunda yoksa ekleyin, varsa eklemenize gerek yok.)

        Bu adımları izledikten sonra dialog pencerelerini Tamam diyerek onaylayıp kapatın. Ardından Başlat->Çalıştır ya da Windows+R kısayolunu kullanarak çalıştr ekranını açın ve cmd yazıp Enter tuşuna basın. Açılan pencerede (komut istemi) php -v yazarak PHP sürümünüzü öğrenebilirsiniz. Daha sonra ise phalcon yazıp devtools kurulumu başarılı mı değil mi görebilirsiniz.


    Paylaş:
    Devamını Oku

    2017/04/23

    Phalcon Ders 1 - Windows Kurulum (Xampp)

       
     Xampp her zaman Apache ve PHP’nin 32 bit sürümünü yayınlıyor. Bu yüzden Phalcon 32 bit dosyasını indirmeniz gerekiyor.



       Sıkıştırılmış dosyayı indirdikten sonra dll dosyasını çıkarın. php_phalcon.dll ve LICENSE dosyalarınız olacak.


      php_phalcon.dll dosyasını kopyalayın, C:\xampp\php\ext klasörü içerisine yapıştırın. (XAMPP kurulumu varsayılan klasör kabul edilmiştir. Farklı bir klasöre kurduysanız işlemi buna göre değiştirin.)
    C:\xampp\php\php.ini dosyasını düzenlemeniz gerekiyor. Bir metin editörü ile dosyayı açın ve alttaki satırı dosya içerisine ekleyin.


      extension=php_phalcon.dll



     Ardından XAMPP Control Center açın ve Apache Web Server’i yeniden başlatın.


      Tarayıcınızı kullanarak http://localhost bağlantısını açın. Sayfada bulunan PHPInfo bağlantısına tıklayın. Sayfada phalcon sözcüğünü aratın. Eğer kurulumu başarıyla tamamladıysanız aşağıdaki gibi bir kısımla karşılaşacaksınız.



    Paylaş:
    Devamını Oku