Angular, Vuejs, React hepsi bu syntax'da yazılır.
Vue için:
<div id="app">
<input v-model="msg">
{{msg}}
</div>
<script>
var vm = Vue({
el: '#app',
data(){
return {
msg:'Hello World'
}
}
})
</script>
İstekleme olmaz mı diyorsun? Ozaman ne duruyorsun, haydi web yazılımlarını öğren!
https://www.youtube.com/user/uzmanvideo
Size benim uyguladığım bir tavsiyede bulunabilirmiyim.
Ben bir şeyler öğrendikten sonra kendimi açık kaynak projelere adadım ve bilgim yetersiz olsa bile githubdaki kaynaklara yardım ettim. Pagekit bunlardan en çok destek veridiğim projeydi (gerçi proje 2016 da durdu) ama ben yinede pratik olması açısından onu inceledim ve bir çok şey fark ettim. Benim bilmediğim çok şey varmış, fark ettimki açık kaynak projelere destek verirsen, senin kullanmadığın ama çok hayati öneme sahip bilgiler barındırabiliyormuş.
Bu bir nesne $data->isim
şeklinde alabilirsin.
eğer şöyle yaparsan (Kullandığın PHP sürümüne Bağlı)
foreach ($a as $b):
$data = (array) $b->getJSON();
endforeach;
yada
foreach ($a as $b):
$data = json_decode($b->getJSON());
endforeach;
işte şimdi $data['isim']
şeklinde alabilirsin verini.
Baya sıkıntılı bir mevzu, kendi projemde ilerlediğim durumu anlatayim.
Veritabanı için Doctrine kullanıyorum. Doctrine'de veritabanı güncelleyebileceğim fonksiyonlar var, Baya geniş ve güzel bir sınıf yapısı.
her modülde bir script.php dosyası barındırıyorum. Bu dosya modüllerin veritabanı tipini barındıryor.
<?php
use GreenCheapApplication as App;
return [
'enable' => function ($app) {
$util = $app['db']->getUtility();
if( !$util->tableExists('@brain_marketplace') ){
$util->createTable('@brain_marketplace' , function($table){
$table->addColumn('id' , 'integer' , ['autoincrement' => true , 'unsigned' => true , 'length' => 10]);
$table->addColumn('user_id' , 'integer');
$table->addColumn('categories_id' , 'simple_array');
$table->addColumn('name' , 'string' , ['notnull' => false]); // marketplace.json'dan gelen veri bu
$table->addColumn('title' , 'string');
$table->addColumn('slug' , 'string');
$table->addColumn('type' , 'integer' , ['notnull' => false]);
$table->addColumn('constraints' , 'integer');
$table->addColumn('status' , 'integer');
$table->addColumn('date' , 'datetime');
$table->addColumn('modified' , 'datetime' , ['notnull' => false]);
$table->addColumn('price' , 'decimal' , ['notnull' => false , 'precision' => 3 , 'scales' => 2]);
$table->addColumn('data' , 'json_array' , ['notnull' => false]);
$table->setPrimaryKey(['id']);
$table->addIndex(['title'] , '@BRAIN_MARKETPLACE_TITLE');
$table->addIndex(['slug'] , '@BRAIN_MARKETPLACE_SLUG');
});
}
},
'disable' => function ($app) {
$util = $app['db']->getUtility();
if($util->tableExists('@brain_marketplace_versions')){
$util->dropTable('@brain_marketplace_versions');
}
},
'updates' => [
'1.0.1' => function ($app) {
$util = $app['db']->getUtility();
if( !$util->tableExists('@brain_marketplace_versions') ){
$util->createTable('@brain_marketplace_versions' , function($table){
$table->addColumn('id' , 'integer' , ['autoincrement' => true , 'unsigned' => true , 'length' => 10]);
$table->addColumn('user_id' , 'integer');
$table->addColumn('marketplace_id' , 'integer');
$table->addColumn('version' , 'string');
$table->addColumn('changelog' , 'text' , ['notnull' => false]);
$table->addColumn('requirements' , 'json_array' , ['notnull' => false]); //Gereksinimler
$table->addColumn('compatible' , 'json_array' , ['notnull' => false]); // Uyumlular
$table->addColumn('download' , 'integer' , ['default' => 0]);
$table->addColumn('constraints' , 'integer');
$table->addColumn('status' , 'integer');
$table->addColumn('package_path' , 'string');
$table->addColumn('date' , 'datetime');
$table->addColumn('data' , 'json_array' , ['notnull' => false]);
$table->setPrimaryKey(['id']);
$table->addIndex(['marketplace_id'] , '@BRAIN_MARKETPLACE_VERSIONS_MARKETPLACE_ID');
});
}
}
]
];
Her modül dosyasında composer.json mevcut bu dosyadaki version satırını projenin versiyonu olarak var sayırıyorum her zaman.
Symfony Console kütüphanesi ile kendime bir command line oluşturdum. Command line da php greencheap build --constraint=release --publish=server
komutu ile Composer sınıfını kullanarak zipliyorum ve publish
komutunda eğer server yazıyorsa server-side sunucuma paket zip olarak gidiyor.
Müşterilerimin sunucuları yönetim panelinde client to server-side yaparak sürüm kontrolü sağlıyor. Eğer son sürüm mevcut sürümden büyükse o paket indirilir ve yine Composer ile paket açılır. Açıldığı sırada modüllerdeki script.php dosyaları kontrol edilir ve güncelleme varsa doctrine ile güncelleme veritabanına sağlanır.
İşin kısası hayal gücünüze bağlı.
Olay nedir önce onu bir açıklasan? Sorun çözülmedi diğerek kimse bir şey anlayamaz.
2 Sql yapabilirsin, önce bahsi geçen kişinin yorumunu sorgulayıp istediğin şekilde yukarıda gösterme gerekiyor. Diğer sql ile standart yorumları tarihe gösterebilirsin.
Yani yanlış anlamayın projenizi inceledim. Gerçekten çok güzel açık kaynağa destek vermeyi çok severim. Ama ne bilim yani :d Kusura bakma lütfen. İmam bırakırsa cemaat ne yapar biliyorsunuzdur :D O yüzden yoksa tavrım sadece size değil özür dilerim kırdıysam.
Kardeş sen olayı çok yanlış anladın. Burası reklam alanı değil malesef. Projende başarılar
Helal olsun pek bir şey yapmadım :D Halletmene sevindim.