////BulutfonXM ile Mesai Saatleri Uygulaması Yapımı

BulutfonXM ile Mesai Saatleri Uygulaması Yapımı

BulutfonXM

Bulutfon santralini BulutfonXM özelliğini kullanarak isteklerimize göre santralimizi çağrı anında yönetebiliyoruz. BulutfonXM eklentisi santrali kullanan kişiniz bir çok isteğine rahatlıkla cevap verebilir. Bir örnek olarak mesai saatlerinde santrali farklı menülere yönlendiren bir BulutfonXM uygulamasının yapılışını anlatacağım.

Mesai Saatleri Uygulamasını Özellikleri

1. Kullanıcı bu uygulamaya çalışma saatlerini girerek bu saatlerde uygulamanın farklı menülere yönlendirmesini sağlayabilir.
2. İstenilen bir günü tamamen tatil yada tamamen mesai saati olarak belirleyebilir.
3. Mesai saati ortasında öğle arası gibi bir ara saat ataması yapabilir.

Uygulama Nasıl Yapılır

1. Öncelikler uygulamamızın çalışacağı internete açık bir hosting adresini Bulufon’nun tetiklemesi için tanıtmamız gerekir. Bunun için Bulufon kullanıcı girişi yaptıktan sonra “https://app.bulutfon.com/account/BulutfonXM” adresine giriyoruz.
2. Bura daha önceden eklemiş olduğunuz BulutfonXM uygulamalarına ulaşabilir onlar üzerinde ayarlama yapabilirsiniz. Biz “Yeni BulutfonXM” e tıklıyoruz. Aşağıdaki gibi bir ekran bizi karşılacaktır.

bulutfon-bulutfonXM

3. Yukarıdaki adımda açılan sayfada “Uygulama ismi” yerine uygulamamızın ismini “URL” yerine Bulutfon’un tetikleyeceği ve bizim uygulamamızın kayıtlı olduğu bir adresi giriyoruz. “Yetkilendirme var mı?” seçeneği işaretlediğimiz zaman bizden kullanıcı adı ve şifre isteyecektir. Buraya girdiğimiz kullanıcı adı ve şifreyi yaptığımız uygulamada doğrulayarak sadece kullanıcı adı şifreyi bilenlerin kullanabileceği bir uygulama yapmış olabiliriz. Biz yapacağımız uygulamada bu seçeneği işaretlemiyoruz. “Uygulama ismi ” ve “URL” girdikten sonra “BulutfonXM ekle” ye basıp kayıt ediyoruz.

4. Uygulamamızın daha anlaşılır ve kolay olması için Bulutfon’ un Composer paketini kullanacağız. Bunun için “https://getcomposer.org/download/” adresinden Composer’ i indirip bilgisayarımıza kuruyoruz.

5. Konsoldan yapacağımız uygulamanın klasörüne diyoruz. “https://packagist.org/packages/xuma/bfxm” adresinden “composer require xuma/bfxm dev-master” kodunu alıp konsola ekranımıza yapıştırıyoruz. Composer paketi proje için açtığımız klasöre kuruluyor.

terminal

6. Proje klasörümüzün içerisine sabit değerin ve program ayarlarının yapılması için “constants.php” ve başlangıç yeri için “index.php” adında 2 dosya oluşturuyoruz.

7. “constant.php” dosyamızdan uygulamamızı yazmaya başlıyoruz. Öncelikle mesai saati başlangıç ve bitiş saatlerini girdiğimiz aşağıdaki gibi bir dizi oluşturuyoruz.

#Mesai saatleri
$hours = 
[ 'morning_start' => '08:00', 'morning_finish' => '12:00', 'afternoon_start' => '19:00', 'afternoon_finish' => '20:00' ];

Uygulamamız mesai saatleri içerisinde sadece bir ara vermeye göre ayarlandığı için yukarıdaki 4 değer bizim için yeterlidir.

8. Haftanın her günü için mesai saatlerini tutacak günler dizisini aşağıdaki gibi oluşturuyoruz.

#Gunler
$days = [
1 => $hours , //Pazartesi
2 => $hours , //Sali
3 => $hours , //Carsamba
4 => $hours , //persembe
5 => $hours , //cuma
6 => $hours , //cumartesi
7 => $hours , //pazar
];

Haftanın her günü için tek tek atama yapmamız özel gün tanımlamamızı sağlayacaktır.

9. Uygulamamızın mesai saatlerinde, öğlen aralarında ve mesai saatleri dışında yönlendirilecekleri menü numaralarını tutan sabitleri aşağıdaki gibi giriyoruz.

#Menu Numaralari
$shift_in = 10; //Mesai saatleri menu numarasi
$shift_out = 11; //Mesai saatleri disi menu numarasi
$launch_break = 11; //Oglen arasi menu numarasi

10. Şimdi “index.php” dosyamıza geçebiliriz. İlk olarak composer paketini ve “constant.php” dosyamızı include ediyoruz. Sonra Composer paketi içerisindeki nesnenin namespace tanımlamasını aşağıdaki gibi yapıyoruz.

require_once 'vendor/autoload.php';
require_once 'constants.php';
use Xuma\Bfxm\Builder;

11. Şimdi PHP’ nin zamanlari düzgün hesaplaması için PHP zaman aralığını giriyoruz. Devamında şimdiki saati ve günü belirttiğimiz formatta tutan sabitlerimizi giriyoruz.

date_default_timezone_set('Europe/Istanbul'); //Turkiye saati
$day_now = date('N'); //Suanki gun degeri
$hour_now = date('H:i'); //Suanki saat degeri

12. “index.php” dosyamıza gerekli kontrolleri girmek için switch yapısını aşağıdaki gibi oluşturuyoruz.

switch($hour_now){

Sonra 1. case değerimizi aşağıdaki gibi giriyoruz.

//Mesai saatleri disi
case ($hour_now < $days[$day_now]['morning_start'] ||
$hour_now > $days[$day_now]['afternoon_finish'] ):
$bfxm = new Builder();
$bfxm
->dial($shift_out)
->build(true);
break:

Bu case değerimiz mesai saatleri dışında olunduğunda sağlanır. Builder sınıfında $bfxm nesnesini oluşturuyoruz. Nesnenin dial metodunun içerisine yönlendirileceği menu numarası giriyoruz.
Sonra 2. case değerimizi aşağıdaki gibi giriyoruz.

//Oglen arasi
case ($hour_now > $days[$day_now]['morning_finish'] &&
$hour_now < $days[$day_now]['afternoon_start'] ):
$bfxm = new Builder();
$bfxm
->dial($launch_break)
->build(true);
break;

Bu case değerimiz mesai saati içerisinde ara vermek istediğimiz zaman çalışacaktır. Son deafult durumu aşağıdaki gibi giriyoruz.

//Mesai saatleri
default:
$bfxm = new Builder();
$bfxm
->dial($shift_in)
->build(true);
break;

Bu son durum ise kalan son ihtimal yani mesai saatlerinde çalışacak durumdur.

13. Özel gündeğeri ayarlamak için “constant.php” dosyamıza giriyoruz. En altına aşağıdaki kod bloğunu yapıştırıyoruz.

/**
* Ozel gun belirleme
* $days[gun numarasi]['morning_start'] = 'hh:mm'
* $days[gun numarasi]['morning_finish'] = 'hh:mm'
* $days[gun numarasi]['afternoon_start'] = 'hh:mm'
* $days[gun numarasi]['afternoon_finish'] = 'hh:mm'
*/

Tanımlamak istediğimiz günün numarasını giriyoruz. Pazartesi 1. gün olarak kabul edilmiştir. Bir günü tamamen tatil yapmak için 4 saat değerine de aynı değerleri giriyoruz. Ara vermeden mesai saati oluşturmak için öğle arası başlangıç ve bitiş değerlerine aynı değeri veriyoruz. Bir hafta içinde birden fazla günü özelleştirmek için bu kod bloğunu kopyalayıp yapıştırıp istediğimiz gün değerini değiştirerek sağlıyabilriz.

14. Uygulamızı kayıt edip belirtiğimiz internet adresine yukledikten sonra Bulutfon arayüzüne girip “https://app.bulutfon.com/account/dids” adresinden hangi numaranın oluşturduğumuz BFXM uygulamasına yönlendirileceğini ayarlıyoruz. Bunun için seçtiğimiz numarayı düzenle diyoruz sonra “BulutfonXM” i seçiyoruz aşağıda oluşturduğumuz BFXM uygulaması görünecektir onu seçiyoruz.

Kayıt edip çıktıktan sonra belirttiğimiz numarayı arayarak test işlemlerini gerçekleştirebiliriz.

Uygulamanin bitmiş hali: https://github.com/ahmetilhann/bulutfon-bfxm-mesai-saatleri

tarafından|2018-02-08T14:16:39+00:00Ağustos 19, 2015|Kategoriler: BulutfonXM|Etiketler: , , , |Yorum yok
Bu yazı faydalı mıydı? Hayır | 0 Evet | 0

Bu hikayeyi paylaşın!

Yazar Hakkında:

Siz de fikrinizi belirtin