Konsol Komutları


    × Bunları biliyor muydunuz?
"Başlangıç kontrolcüsü üzerinden $this nesnesini data olarak göndererek statik olmayan sınıflara ilgili data üzerinden erişebilirsiniz."


İşletim sistemlerinde terminal üzerinden komut çalıştırmak için geliştirilmiştir.

 

 

# Kurulum


ZN dağıtımları için kurulum gerekmez.

↓ composer require znframework/package-console

 

 

# Söz Dizimi


php zerocore [project-name] command [parameters]
Php yolu. Kök dizindeki zerocore dosyasının yolu. ZN FE ve ZN OE dağıtımlarında Projects/ dizini içerisinde yer alan ön tanımlı proje dizini (Frontend) dışında farklı bir proje üzerinde komut çalıştırmanız gerektiği durumda kullanır.  Komutlardan herhangi biri. Varsa parametreler.
Genel Komutlar

Aşağıda sistem genelinde ki tüm yapılara ulaşabilmeyi sağlayan komutlar yer almaktadır. 

php zerocore [project-name ProjectName] run-command command:method p1 p2 p 3 ... pN
php zerocore [project-name ProjectName] run-uri controller/function/p1/p2 ... /pN
php zerocore [project-name ProjectName] run-controller controller/function
php zerocore [project-name ProjectName] run-class controller:function p1 p2 ... pN
php zerocore [project-name ProjectName] run-model model:function p1 p2 p3 ... pN   
php zerocore [project-name ProjectName] run-function function p1 p2 p 3 ... pN

Tema Entegrasyon Komutları

Aşağıda tema entegrasyon işlemini başlatmak için kullanılan komutlar yer alır.

php zerocore run-butcher
php zerocore run-butcher-delete

Sürüm Yükseltme Komutları

Aşağıda ZN Framework sürümün yükseltme komutları yer almaktadır.

php zerocore upgrade

Aşağıdaki komut son yapılan upgrade işlemini geri almak için kullanılır.

php zerocore undo-upgrade

Zamanlanmış Görev Komutları

Aşağıda Crontab ile zamanlanmış görev yönetimi komutları yer almaktadır.

php zerocore [project-name ProjectName] run-cron controller/method time1 value1 ...
php zerocore [project-name ProjectName] cron-list
php zerocore [project-name ProjectName] remove-cron cronID

Biçimlendirme Komutları

Aşağıda generate kütüphanesinin yeteneklerini kullanan komutlar yer almaktadır.

php zerocore create-project project name
php zerocore delete-project project name
php zerocore [project-name ProjectName] create-controller controller name
php zerocore [project-name ProjectName] delete-controller controller name
php zerocore [project-name ProjectName] create-model model name
php zerocore [project-name ProjectName] create-grand-model model name
php zerocore [project-name ProjectName] delete-model model name
php zerocore [project-name ProjectName] create-grand-vision [database name]
php zerocore [project-name ProjectName] delete-grand-vision [database name]
php zerocore [project-name ProjectName] generate-databases
php zerocore [project-name ProjectName] clean-cache

Terminal Komutları

Yukarıdakı kullanımların dışında kalan standart terminal komutlarını kullanabilirsiniz.

composer require monolog/monolog

 

 

# run-command


Konsol kullanarak Projects/ProjectDirectory/Commands/ dizini altındaki komut sınıflarını çalıştırmak için kullanılır. Komut dosyalar terminal üzerinden çalıştırılabileceği gibi Async:: sınıf ile kontrolcüler üzerinden de tetiklenebilir.

Dikkat: Komut dosyalarında Başlangıç Kontrolcüleri (Initialize) devreye girmez. Ayrıca komut dosyası içerisinde çağrılması gerekir.
Dikkat: Komut dosylarında Başlangıç Dosyaları (Starting Files) oto yüklenmez include ile dahil edilmesi gerekir.

Yukarıda belirtilen istisnalar dışında tüm sistem, kullanıcı ve composer kütüphanelerine doğrudan erişim sağlanabilir.

 File: Commands/ExampleCommand.php
<?php namespace Project\Commands;

use Email;

class ExampleCommand extends Command
{
   public function run($to)
   {
        Email::to($to)->send('Subject', 'Message');
   }
}
php zerocore run-command ExampleCommand:run [email protected]
Kısa Kullanım

Yukarıdaki kullanımın kısa formudur.

php zerocore ExampleCommand:run [email protected]
External Komut Dosyası Çalıştırma
php zerocore run-external-command ExampleCommand:run [email protected]

 

 

# run-uri / run-controller


Konsoldan kontrolcü çalıştırmak için kullanılır.

php zercore run-uri comments/view

Eğer farklı bir proje kontrolcüsüne istek yapılmak isternirse aşağıdaki gibi kullanılabilir.

php zerocore project-name OthersProject run-uri comments/view

 

 

# run-class / run-model


Konsoldan kütüphane çalıştırmak için kullanılır.

php zerocore run-class Migration:create Blog 1
php zerocore run-class MigrateBlog:up
php zerocore run-class MigrateBlog:down
php zercore run-class Migation:delete Blog

 

 

# run-function


Konsoldan fonkisyon çalıştırmak için kullanılır.

php zerocore run-function exampleFunction

 

 

# run-external-command


Konsol kullanarak Projects/ProjectDirectory/Commands/ dizini altındaki komut sınıflarını çalıştırmak için kullanılır. Kontrolcü üzerinden çalıştırmayı denerseniz hata ile karşılaşırsınız. Bu yapı sadece konsol üzerinden yapılan isteklerle çalışır.

File: External/Commands/ExampleCommand.php
<?php namespace External\Commands;

use Email;

class ExampleCommand extends Command
{
   public function run($to)
   {
        Email::to($to)->send('Subject', 'Message');
   }
}
php zerocore run-external-command ExampleCommand:run [email protected]
Kısa Kullanım

Yukarıdaki kullanımın kısa formudur.

php zerocore External\ExampleCommand:run [email protected]

 

 

# upgrade


Framework'ü güncellemek için kullanılır. Güncelleme başarılı olursa mesaj verir. Başarılı olmazsa herhangi bir çıktı üretmez.

php zerocore upgrade

 

 

# undo-upgrade


Gerçekleştirilen son yükseltme işlemini geri almak için oluşturulmuştur. Yükseltmenin istenmeyen bir çalışma biçimine neden olması durumunda bu komut ile yükseltmeyi geri alabilirsiniz.

php zerocore undo-upgrade

 

 

# run-cron


Crontab kütüphanesi ve yöntemlerini çalıştırmak için kullanılır. Bu komutla controller, command ve url çalıştırılabilir.

php zerocore run-cron home/main month october day saturday clock 12:00
php zerocore run-cron EmailCommand:sendMail daily
php zerocore run-cron http://example.com/ day monday clock 10:30

 

 

# cron-list


Zamanlanmış görevlerin listesini verir.

php zerocore cron-list

 

 

# remove-cron


Zamanlanmış görevi silmek için kullanılır. Silme işlemi silinecek görevin cron-list'deki id değerine göre yapılır.

php zerocore remove-cron 1

 

 

# create-project


Multi-edition'da Projects/ dizinine yeni bir proje açmak için kullanılır.

php zerocore create-project NewProject

 

 

# delete-project


Multi-edition'da Projects/ dizininde ki belirtilen projeyi silmek için kullanılır.

php zerocore delete-project NewProject

 

 

# create-controller


Kontrolcü oluşturmak için kullanılır. Proje adı belirtilmezse varsayılan proje dizini(Genellikle Frontend/) içerisinde yer alan Controllers/ dizini içerisinde bu işlem gerçekleşir.

php zerocore create-controller MyController
Bir Başka Proje Dizininde Kontrolcü Oluşturma

Varsayılan proje dışında farklı bir proje dizininde bu kontrolcüyü oluşturmak için komut aşağıdaki gibi düzenlenir.

php zerocore project-name Backend create-controller MyController

 

 

# delete-controller


Kontrolcü silmek için kullanılır.

php zerocore delete-controller MyController

 

 

# create-model


Model oluşturmak için kullanılır. Proje adı belirtilmezse varsayılan proje dizini(Genellikle Frontend/) içerisinde yer alan Models/ dizini içerisinde bu işlem gerçekleşir.

php zerocore create-model MyModel
Bir Başka Proje Dizininde Model Oluşturma

Varsayılan proje dışında farklı bir proje dizininde bu modeli oluşturmak için komut aşağıdaki gibi düzenlenir.

php zerocore project-name Backend create-model MyModel

 

# create-grand-model


Grand Model oluşturmak için kullanılır. Model sınıfı GrandModel sınıfı ile genişletilerek oluşturulur.

php zerocore create-grand-model MyModelGrand

 

 

# delete-model


Modeli silmek için kullanılır.

php zerocore delete-model MyModel

 

 

# create-grand-vision


Veritabanının tüm tabloları ile aynı isimle GrandModel sınıfları oluşturmak için kullanılır. Veritabanı adı belirtilmezse varsayılan olarak ayarlanan veritabanı adı kabul edilir.

php zerocore create-grand-vision
Veritabanı Belirtme

Varsayılan veritabanı dışında başka bir veritabanına ait tablolardan model dosyaları oluşturmak için kullanılır.

php zerocore create-grand-vision OtherDatabase

 

 

# delete-grand-vision


Oluşturulan vizyon modellerini silmek için kullanılır.

php zerocore delete-grand-vision OtherDatabase

 

 

# generate-databases


Databases/ dizinine tasarladığınız yapının işlenmesini sağlar.

php zerocore generate-databases

 

 

# clean-cache


Storate/Cache/ dizininin temizlenmesini sağlar.

php zerocore clean-cache