Yii2 Date/Datetime Formatter
yii framework
Yii Framework CsrfValidation Hatası
Bad Request (#400)
Unable to verify your data submission.
——————————————-
Yii Framework CsrfValidation Hatası
‘components’ => [
‘request’ => [
‘enableCsrfValidation’ => false,
],
],
];
Yii2 OrderBy Kullanımı
$model::find()->orderBy([
‘id’ => SORT_DESC,
// (veya)
‘id’=>SORT_ASC
]);
SweetAlert Confirm & Ajax Get Delete Confirm
swal({
title: ‘Bunu Galeriden Kaldırmak İstiyormusunuz?’,
text: ‘Görsel silinmeyecek saece galeriden kaldırılacak.’,
type: ‘warning’,
showCancelButton: true,
confirmButtonColor: ‘#3085d6’,
cancelButtonColor: ‘#d33’,
confirmButtonText: ‘Evet, Bunu Sil’,
cancelButtonText: ‘Hayır, Vazgeçtim’
}).then(function(isConfirm) {
if(isConfirm.value) {
var deleteId = id;
var request = $.ajax({
url: “?r=controller/deleteitem”,
type: “GET”,
data: {id: id},
dataType: “html”
});
request.done(function (msg) {
swal(
‘Silindi’,
‘Silme işlemi başarılı’,
‘success’
);
});
request.fail(function (jqXHR, textStatus) {
swal(
‘Silinemedi!’,
‘Silme işlemi gerçekleştirilemedi! Hata:’ + textStatus,
‘success’
);
});
}else{
swal(“İşlem iptal edildi”);
}
})
Yii2 Notlarım
Yii2
DetailView widget Html value
[
‘label’ => $model->getAttributeLabel(“status”),
‘value’ => function ($model) {
if ($model->status== 1) {
return Html::a(Yii::t(‘app’, ‘AKTİF’), [‘Site/index’, ‘id’ => $model->id], [‘class’ => ‘btn btn-success’]);
} else {
return Html::a(Yii::t(‘app’, ‘PASİF’), [‘Site/index’, ‘id’ => $model->id], [‘class’ => ‘btn btn-danger’]);
}
},
‘format’ => ‘html’,
],
Model Label:
$model->getAttributeLabel('name');
Dropdown:
echo $form->field($model, ’category’)->dropdownList([
1 => ’item 1’,
2 => ’item 2’
],
[’prompt’=>’Select Category’]
);
Yii2 – Paggination
View
use yii\widgets\LinkPager;
.....
echo LinkPager::widget([
'pagination' => $pagination,
]);
Controller:
use yii\data\Pagination;
....
$mediaData = FileManager::find()->where(['file_status' => 1]);
$count = $mediaData->count();
$pagination = new Pagination(['totalCount' => $count]);
....
return $this->renderPartial('files',
[
'pagination'=>$pagination,
]);
Yii2- Redirect Back
return $this->redirect(Yii::$app->request->referrer ?: Yii::$app->homeUrl);
Html::DropDownList For Yii2
echo Html::dropDownList('select_name', [1, 3, 5], ArrayHelper::map($content, 'ID', 'VALUE_DEG'), [
'multiple' => 'multiple',
'options' => ['value1' => ['disabled' => true, 'class' => 'yourClass', 'style'=> 'yourStyle'],
'value2' => ['label' => 'value 2'],
]
Yii2 GridView Action Button
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view} {update} {delete} {myButton}',
// the default buttons + your custom button
'buttons' => [
'myButton' => function (
$url,
$model,
$key
) { // render your custom button
return Html::a(
'',
$url,
[
'title' => 'Download',
'data-pjax' => '0',
]
);
},
],
],
Yii Framework Kurulum
Merhaba , zaman zaman Yii framework hakkında sayfamda bazı konulara yer vermiştim. Ancak yeni başlayacaklar için ve düzenli bir kaynak olması açısından bu bölümü oluşturmak istedim. Bu bölüm altında Yii Framework ile ilgili A’dan Z’ye bütün detayları adım adım paylaşmaya çalışacağım.
Devamı
Öncelikle Yii Framework ile kendi tanışmama gelecek olursak;
Yii ile aramızdaki ilişki bundan yaklaşık 2,5 – 3 yıl öncesine dayanıyor, Bir Php framework
üzerine yogunlaşmaya karar verdiğimde karşıma birbirinden güzel seçenekler geldi, Lavarel, CodeIgniter, Zend, Symfony bunlardan başlıcalarıydı.
Tabiki bu yol ayrımına geldiğinizde bir tercih söz konusu oluyor ve hemen araştırmaya başlıyorsunuz;
Hangi Framework daha iyi? gibi sorularla ortalıkta gezinmeye başlıyorsunuz.
O dönemde benim yaptığım karşılaştırmada çıkardığım sonuc Yii’nin performans ve Güvenlik konusunda diğer framework’lere göre daha cazip gelmesiydi.
Bu yazıyı yazarken’de üşenmedim gittim sizin için Yii’nin performans testini getirdim.
Herneyse, biraz tanımak gerekirse Yİİ → Yes, it is, ‘den geliyor ismi. İsminden de anlaşılacağı gibi Yii’ framework’ün ortaya çıkış sürecinde mükemmellik aranmış olacak ki böyle bir isme sahip olmuş.
Bir zamanlar ülkemizde yapılan bir reklamı canlandırabilirsiniz gözünüzde ;
Bu değil, bu da değil, Bu hiç değil, Evet Bu!.. 🙂
Haydi bakalım şimdi de Yii Framework’ü indirip bilgisayarımıza kuralım.
Derslerimiz Yii-1 üzerine olacak http://www.yiiframework.com/download/ adresine gidip son versiyonu bilgisayarımıza indiriyoruz.
dosyaları htdocs altında yii isminde bir klasör oluşturup (yada tercihinize göre) buraya çıkartıyoruz.
Burada Yii Framework’ün çalışabilmesi için bazı özellikler var bunları http://localhost/yii/requirements/ adresine giderek bir kontrol ediyoruz.
Resimde de gördüğünüz gibi benim devam etmem için bir problem yok, Oracle ve MSSQL konusunda birkaç uyarı var sadece bunlar bizim için önemsiz.
Devam edelim.
Çıkarttığımız dizini incelerken “demos” klasörünü göreceksiniz. Burada 4 farklı yii framework örnek projesi mevcut.
Bunlardan Demo Blog prijesini inceleyerek başlayalım ve daha sonra kendi blog sayfamızı oluşturalım.
Yii Framework UserIndentity
class UserIdentity extends CUserIdentity
{
private $_id;
public function authenticate()
{
$user=User::model()->findByAttributes(array('username'=>$this->username));
if($user===null)
$this->errorCode=self::ERROR_USERNAME_INVALID;
else if($user->password!==md5($this->password))
$this->errorCode=self::ERROR_PASSWORD_INVALID; Devamı
else
{
$this->_id=$user->id;
$this->setState('lastLoginTime', $user->last_login_time);
$this->errorCode=self::ERROR_NONE;
}
return !$this->errorCode;
}
public function getId()
{
return $this->_id;
}
}