アプリ関連ニュース

MVC Architecture

Today I will talk about what is MVC architecture with some PHP sample codes.

MVC means model, view, controller:

Model: refers to the data structure.
View: refers to the user interface (UI), with what the user sees and interacts.
Controller: is an “intermediate processor” located between the model and the view.
How it works: the user interacts with the view (UI) to enter some inputs. The controller processes the user’s request, works with the data model. Finally, the controller will update the view to show the results.

Model

It is the representation of information or data that you want to display to user. Model have classes (If you have heard or used Object oriented programming you might have heard about Class). Model gets all these data from database and data can be read, updated and deleted.

View

It is all the front end code via which the website is presented in front of the user (UI/UX). It includes all the CSS, HTML and JavaScript. Also Ajax calls are included. Using view, the user interacts with the website.

Controller

It contains all the logic of your website. Controller also has class with the all methods and application logic. It does as the interface between the Model and View. Most of the application codes are written in this part.

Check out the PHP sample codes below.

<?php

//Model Part
class Model 
{
    public $text;
    public function __construct() 
    {
        $this->text = 'Hello world!';
    }
}

//View Part
class View 
{
    private $model;
    public function __construct(Model $model) 
    {
        $this->model = $model;
    }

    public function output() 
    {
        return '<h1>' . $this->model->text .'</h1>';
    }
}

//Controller Part
class Controller 
{
    private $model;
    public function __construct(Model $model) 
    {
        $this->model = $model;
    }
}


//initiate the model class
$model = new Model();
//controller and the view share the model
$controller = new Controller($model);

$view = new View($model);

echo $view->output();

These are some popular PHP MVC frameworks.

  1. – Laravel
  2. – Symfony
  3. – Yii 2
  4. – CakePHP
  5. – CodeIgniter
  6. – Zend Framework
  7. – Phalcon
  8. – Slim Framework
  9. – FuelPHP

By Yuuma.



CakePHP テーブルクラスとエンティティクラスについて(その1)

今回はCakePHPのテーブルクラスとエンティティクラスについての説明をおこないます。

続きを読む

Androidでネットワーク上の動画を再生する

ネットワーク上に保存している動画を
VideoViewというViewを使用して再生するアプリを作成しました。

ネットワーク上のファイルを参照するので、
AndroidManifestにインターネットパーミッションを許可するために
<uses-permission android:name=”android.permission.INTERNET” />
を追加し、
平文通信を行う必要があるときは、同じく AndroidManifest のapplicationに
android:usesCleartextTraffic=”true”
を追加します。

stringsファイルに動画ファイルのURLを追加し
レイアウトファイルにVideoViewというViewを追加し、
javaファイルにコードを書いていきます。

以下ソースコードです。

package com.example.videoviewsample;

import androidx.appcompat.app.AppCompatActivity;

import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

public class MainActivity extends AppCompatActivity {

    private VideoView videoView;
    private int currentPosition = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        videoView = findViewById(R.id.videoView);

        // 動画へのURLを取得
        String Path = getString(R.string.video_path);
        Uri video = Uri.parse(Path);

        // 動画をコントロールするためMediaController
        MediaController mediaController = new MediaController(this);
        mediaController.setAnchorView(videoView);

        // VideoViewに動画URLとコントローラーを設定
        videoView.setMediaController(mediaController);
        videoView.setVideoURI(video);

        // 保存した値があれば取得
        if(savedInstanceState!=null)
        {
            // 値がなければ0
            currentPosition = savedInstanceState.getInt("CURRENT_POSITION", 0);
        }

        // 再生準備を待つリスナーを設定
        videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
        {
            @Override
            public void onPrepared(MediaPlayer arg0)
            {
                // 再生準備ができたら再生開始
                videoView.start();
            }
        });
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        // どこまで再生しているかを保存する
        outState.putInt("CURRENT_POSITION", currentPosition);
    }

    @Override
    protected void onPause() {
        // どこまで再生しているかを取得
        currentPosition = videoView.getCurrentPosition();
        super.onPause();
    }

    @Override
    protected void onResume() {
        super.onResume();
        // どこまで再生しているかを設定
        videoView.seekTo(currentPosition);
    }
}

ただ動画を再生するだけなら簡単ですが、
動画からアスペクト比情報を取得できないと、
アスペクト比が崩れてしまいますね。

水曜担当:Tanaka



How Programming Works

Today I will give you an abstraction about how programming works.

The computer only understands the instructions in machine language code.

But it is more difficult to write a program in machine language code.

So, we have to write programs in higher level languages such as Java, PHP, Python and etc. But we cannot execute this source code (high level language code) directly on the computer.

Therefore, we must convert them into machine language code to be able to understand for computers. We need some special translators that are programs written basically in machine language code.

And these translators are called language processors.

There are 3 types of language processors.

Compiler

It is used for higher level language.

Read and run the entire program at once and then throw errors if one occurs.

The top-level languages that compilers use is: C, C ++, C #, Java etc.

Assembler

It is used for assembly level language (mnemonic codes).

Read the assembly level language instructions for the given entry.

Interpreter

It is used for higher level language.

Read and execute the source code line by line and throw an error after each line if one occurs.

The top-level languages that use interpreters are VB Script, Python, Perl etc.

Now you will have a general understanding of how programming works.

By Yuuma.



CakePHP データベースとの接続

今回は、CakePHPとデータベースの接続について説明をおこないます。

続きを読む

アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム