2014年6月28日土曜日

Androidでpinch in/outのjsイベント(gesturestart, gesturechange, gestureend)

gesturestart, gesturechange, gestureendはAndroidに無いので、独自実装。

var funcGestureStart = function (e) {};
var funcGestureChange = function (e) {};
var funcGestureEnd = function (e) {};

// iOS向けイベント設定
document.body.addEventListener('gesturestart', funcGestureStart, false);
document.body.addEventListener('gesturechange', funcGestureChange, false);
document.body.addEventListener('gestureend', funcGestureChange, false);

// Android向けイベント設定
var pinchDistance = 0;
document.body.addEventListener('touchstart',function(e){
    if(e.touches.length > 1){
        pinchDistance = Math.sqrt(Math.pow((e.touches[1].pageX - e.touches[0].pageX),2)+Math.pow((e.touches[1].pageY - e.touches[0].pageY),2));
        funcGestureStart(e);
    } else {
        pinchDistance = 0;
    }
},false);
document.body.addEventListener('touchmove', function (e) {
    if (pinchDistance <= 0) {
        return;
    }
    var newDistance = Math.sqrt(Math.pow((e.touches[1].pageX - e.touches[0].pageX),2)+Math.pow((e.touches[1].pageY - e.touches[0].pageY),2));
    var event = {scale: newDistance / pinchDistance};
    funcGestureChange(event);
});
document.body.addEventListener('touchmove', function (e) {
    if (pinchDistance <= 0) {
        return;
    }
    funcGestureEnd(e);
});

2014年6月16日月曜日

Yii2のインストール

パッケージ管理システムのcomposerを使って、yii2を入れる。phpはインストール前提(v5.4以上)

Composerのインストール、初期化

## プロジェクトのディレクトリを作る
$ mkdir -p /path/to/project
$ cd $_

## composerインストール
$ curl -sS https://getcomposer.org/installer | php

## composerの初期化 (201406現在yii2はbetaのため、stabilityにdevを設定)
$ php composer.phar init -name vendername/projectname -author authorName –stablility dev
これで、カレントディレクトリに「composer.phar」「composer.json」が出来る。

Yii2のインストール

$ php composer.phar require --prefer-dist "yiisoft/yii2 *"

## yiiプロジェクトのセットアップ
$ php composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic /path/to/project
これで、カレントディレクトリに「vendor」ディレクトリと管理されているパッケージ、「composer.lock」が出来る。

composerでは、composer.jsonが設定、composer.lockが現在の状態データ、composer.pharが実行データになる。
実際にリポジトリで管理するのは上記の3ファイルのみ。他はwebサーバ立ち上げてリポジトリからデプロイした後に、php composer.phar install とか php composer.phar update とかバージョン古くなってるて警告出たら php composer.phar self-update とか便宜実行。

どうでもいいけど、composerっていつもcomporserとtypoしてしまう。打ちづらい。

参考:http://www.yiiframework.com/doc-2.0/