MVC: model views control dalam YII bag 1 (Model)

Aplikasi web berbeda dalam manajemen database dibanding dengan aplikasi desktop. Aplikasi web dengan basis file php, mengunakan kerangka kerja atau framework dalam menangani transaksinya. Dalam tulisan ini, digunakan framework YII.

Untuk anda yang belum tahu singkatan YII , bahwa YII kependekan dari Yes It Is.

Maksud dari pembuatnya, jika ada orang yang tanya framework apa yang bisa menangani dengan respon cepat apa? Framework yang handal untuk kelola web besar apa? Semua itu jawabnya Yes It Is.

Sebenarnya kenapa kok ada istilah MVC, bukan di aplikasi dekstop juga ada modelnya,ada viewnya dan controllernya?

Ranah web konsep MVC lebih tegas karena memisahkan Model View dan Controler nya, sedangkan di dektop dalam 1 layout atau view, controller jadi satu untuk mengolah modelnya.

Baiklah kita ulas apa yang dimaksud dengan MVC ini. Model. Yang dimaksud dari model adalah function yang mewakili dari suatu tabel di database. Di manajemen file php framework Yii, semua file model disimpan dalam folder Models. File file model untuk pemula bisa diperoleh dengan cara aktivasi Gii untuk men CRUD sehingga secara otomatis file model terbuat di folder models. Untuk selanjutnya akan kita bahas tentang View di tulisan selanjutnya

MVC: model views control dalam YII bag 2 (View)

Melanjutkan tulisan MVC model view controller dalam framework YIi, sudah sampai pada Model.

Review lagi mengenai model, yaitu suatu kumpulan fungsi atau function yang mewakili suatu tabel atau query tabel dalam database. Model disimpan dalam suatu file yang berada di folders Model di root folder protected.

View.

Adapun view adalah suatu file yang berfungsi untuk antar muka aplikasi web. Mudahnya adalah tampilan aplikasi yang terlihat oleh pengguna itulah yang dimaksud view. Akan tetapi view dalam sudut pandang teknis merupakan file html atau php yang berisi coding < div> . Model yang mewakili isi database, yaitu isi tulisan ini yang tampil di view. Bagaimana caranya? Secara konsep yang melakukan adalah controller. Function di controller dipanggil (baca ditulis di view) agar menampilkan isi database nya di view. File file view berada di folder Views, mempunyai ekstensi php dan juga ada yg sebagian html. Karena folder ini berada di luar folder protected, sehingga source code nya yang meliputi juga CSS nya bisa dipelajari oleh user lain.   Untuk berikutnya di bagian 3 akan dibahas untuk controller

CgridView updates automatically when create, update and delete views # 1

By default, in the Yii framework, the CgridView widget is inside admin.php. This component is useful for displaying data and as an effective search for subsequent data manipulation. So it can be said, CgridView is always in Yii project.
When creating and updating, CgridView can be displayed in 1 form with the same input, it needs a coding modification. Look at the picture below: <more>
 
Stage 1, to do CgridView order to display the data directly in accordance with the create as follows:
Open the admin.php file in protected / view / nama_view_anda .... Copy and paste it in _form.php under the cover of its div form


</div><!-- penutup  form -->
<?php $this->widget('zii.widgets.grid.CGridView', array(
        'id'=>'kategori-grid',
        'dataProvider'=>$model->search(),
        'filter'=>$model,
        'columns'=>array(
                        'nama_kategori',
                        array(
                                        'class' => 'CButtonColumn',
            'template' => '{update}{delete}',
           
            )
        ),
)); ?>
Modify the coding on the controller
In actionCreate, replace the string coding as follows:
if($model->save())
                                        {
                                                        $this->redirect('create');
//$this->redirect(array('view','id'=>$model->id));   INI YANG ASLI
                                        }
 
Please be practiced to save this new data, it will be able to get new data appear on the grid.
For the next article is a modification in actionUpdate. Please wait.

CgridView updates automatically when create, update and delete views no 2

As my promise in the title article CgridView update otomatis saat create, update dan delete pada 1 tampilan  # 1 , I will continue to make a trick on the gridview. In the first article, when uploading files, there are 2 events that take place: upload files in a specific folder and save the file name in a particular table.
Now we will discuss how to delete the uploaded data in the table and at the same time to delete the stored files. And it will directly remove the data in its gridview so it always updates

1.Open file in view as upload form
Modified cgridview
(
             'class' => 'CButtonColumn',  
             'template' => '{delete}',
  )
Be as below:
array( 'class' => 'CButtonColumn',
                'template' => '{open}',
                'buttons' => array(
  'open' => array(
                 'url' => 'Yii::app()->createUrl("fileDiupload/conAktif", array("id"=>$data->id))',
                 'imageUrl' => Yii::app()->request->baseUrl . '/images/delete.png',  )
            )
),
 
2. Make the conActive function in its controller
public function actionConAktif($id)
        {
                        $konfirmasi=1;
                        $model=$this->loadModel($id);
                       
        $this->render('conaktif',array(
                                        'model'=>$model,
                                        'konfirmasi'=>$konfirmasi,
                        ));
        }
3. Make conactive views
<?php echo $this->renderPartial('_conformAktif', array(
                'model'=>$model,
                'konfirmasi'=>$konfirmasi,
                )); ?>
 
4.Make view _conformActive '
<?php
 
          if(isset($konfirmasi))
           {
                           ?>
                            <script>
 
                                          hasil=window.confirm("Yakin hapus file/data ini ?");
                                          if(hasil)
                                                        {
                                                          
                                                        window.location.href="../hapus/" + <?php echo $model->id ?>;
                                                        }
                                                        else
                                                        {
                                                                       
                                                                        window.location.href="../../unggah/unggahfile";
                                                        }
                                        </script>
                            <?php  
            }                             ?>       
 
5. After that go back to the controller to create the delete function
public function actionHapus($id)
        {
                        //hapus item data yg terpilih'
                        $model=$this->loadModel($id);
                        $file = $model->nama_file;
                       
                        $folder =Yii::app()->params['uploadDir'];
                         if( $file != null  &&  file_exists( $folder.'/'.$file ) )
                         {
             unlink(getcwd().'/'.$folder.$file); //hapus file yg terpilih datanya
                                         if ($model->delete())
                                         {
                                        if(!isset($_GET['ajax']))
        $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('unggah/unggahfile'));
                                         }
                         
                        }
                       
        }


Please follow the steps above, if any bugs learn its errors,

Menampilkan ikon bootstrap di web dengan bootstrap versi 4

Dalam pembuatan aplikasi web, ada beberapa bahasa pemrograman yang mesti dikuasai atau setidaknya paham. Apabila aplikasi web berbasis php, maka untuk lebih cepat dalam membuat dan men "deploy" aplikasi ke web server, disarankan untuk mempelajari juga kerangka kerja atau framework. Dalam framework, sudah disediakan fungsi dan aturan sistem untuk masalah keamanan data, routing  ( pindah page, aturan POST - GET dll ), caching dan lainnya. Setelah framework dikuasai, pengembang aplikasi lebih fokus ke sistem bisnis itu sendiri, sehingga kerjaan pengembang lebih terbantukan.

Oleh karena web besifat publik, maka masalah tampilan harus diperhatikan juga. Terlebih dewasa ini, dengan adanya perangkat "mobile" maka desain web harus dapat menyesuaikan ukuran dari perangkat. Masalah tampilan di web, diatur dalam file html dan css. Tampilan adalah ranah client side atau sisi pengguna, untuk itu mesti juga mempelahari kerangka kerja pengaturan layour web ini.

Twiiter memperbolehkan penggunaan secara gratis kerangka layout web nya, yang dikenal dengan BOOTSTRAP. Dan satufokus.com ini telah menggunakan boostrap versi 4, yang merupakan versi paling update untuk saat ini , Mei 2018. Akan tetapi saat memakai vesi 4 ini, ada banyak penyesuain yang mesti diperhatikan, antara lain penggunaan glyphicons. 

Glyphicons adalah tampilan ikon-ikon kecil yang sudah ada di bootstrap, sehingga membantu pengembang web dalam mempercantik tampilan. Sekali lagi pengembang tidak susah susah meminta bantuan desain grafis jika hanya membuat ikon. Fitur glyphicons tidak bisa digunakan secara langsung di versi 4 ini, ada beberapa langkah untuk itu, yaitu:

  1. Unduh lah file glyphicons.css ini  ( silakan klik

      2.extract dan taruh lah di folder css di project web

      3.coding lah di bagian header untuk deklarasi penggunaan file css itu

<? Php Yii::app()->clientScript->registerCssFile(Yii::app()->theme->baseUrl . "/css/glyphicons.css"); ?>

 

Dan ikon bootstrap siap digunakan.

<class="glyphicon glyphicon-record">

Suatu ikon gambar disket, yang mempunyai maksud untuk menyimpan

MVC: model views control dalam YII bag 2 (Controller)

 

Sesuai arti secara harfiah, bahwa controller memang difungsikan untuk alat kontrol atau kendali. Secara sederhana, Controlller dalam MVC, sebagai alat untuk kendali database, dengan membuat suatu query database dapat dijalankan atau dipanggil di controller dan untuk kemudian di’lempar’kan ke view nya.

Tampilan data yang seperti apa di layout, bagian contrroler inilah yang mengendalikan.

File file controller disimpan di dalam folder protected\controllers. Sama dengan Model, yaitu disimpan dalan folder protected. Artinya dalam konsep framework YII, semua source code controller dan model tidak bisa diketahui oleh user.