phpunitを使ってテストをするための環境を用意する

phpunitを使ってテストをするための環境を整えました
今回はPHPフレームワークは使ってないです

composerが使える前提で、composerで入れます
その前にphpのバージョンを確認

$ php -v

PHP 5.5.31-1+deb.sury.org~trusty+1 (cli) (built: Jan  7 2016 15:26:28) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

5.5なので、対応したバージョンのphpunit 4を入れます

$ composer init

で適当に設定しておいて

$ composer require –dev “phpunit/phpunit:4.*”

これでphpunitがvendorディレクトリに用意されました

実行するには

$ vender/bin/phpunit

で動きます

実際にサンプルのテストを用意してみます
testsディレクトリにstackTestというサンプルを用意するとして

$ mkdir tests
$ vim tests/stackTest.php

<?php
class StackTest extends PHPUnit_Framework_TestCase
{
    public function testPushAndPop()
    {
        $stack = array();
        $this->assertEquals(0, count($stack));

        array_push($stack, 'foo');
        $this->assertEquals('foo', $stack[count($stack)-1]);
        $this->assertEquals(1, count($stack));

        $this->assertEquals('foo', array_pop($stack));
        $this->assertEquals(0, count($stack));
    }
}

コードは、PHPUnit マニュアル – 第2章 PHPUnit 用のテストの書き方の転載です

実行する際は、requireを自動でしてくれるautoload.phpを読み込んで実行します

$ ./vendor/bin/phpunit –bootstrap ./vendor/autoload.php tests

PHPUnit 4.8.21 by Sebastian Bergmann and contributors.

.

Time: 102 ms, Memory: 3.75Mb

OK (1 test, 5 assertions)

テストの準備が出来ました

Ubuntu 14.04にFlash Playerを入れてみた

まだAdobe Flash Playerを使っているウェブサイトを見ることがあったので、FirefoxにFlash Playerを入れてみました
Firefoxは 43.0.4 でした

AdobeのFlash Playerのページでダウンロードします
Adobe Flash Player ダウンロード

Ubuntuでアクセスすると、Linuxのインストーラーをダウンロードできます

firefox-flash

tarボールを落としました
解凍しておきます

$ mkdir flash-player && cd flash-player
$ tar xvfz ../install_flash_player_11_linux.x86_64.tar.gz

libflashplayer.so
をプラグインの場所へ置くだけでいいそうです

$ sudo libflashplayer.so /usr/lib/mozilla/plugins

これで、Firefoxを再起動、Flash Playerが動きました

Google Maps APIキーを特定のドメインからだけアクセスできるようにする

Google Maps APIキーをHTMLに埋め込むと、Githubなどにコードを上げるときにどうしよう..
と思いましたがキーを発行する際に

google-maps-key

というようにリファラが設定出来ました
指定したドメイン以外からアクセスできなくなるので安心です

Google Maps APIをhttpsのサイトで使う

Google Maps API v.3を使ってサイトにマップを表示させると

<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=xxxxxxxxxx"></script>

な感じで読み込みますがこれだとhttpsのサイトで埋め込むとエラーになります

<script type="text/javascript" src="//maps-api-ssl.google.com/maps/api/js?key=xxxxxxxxxx"></script>

とアドレスを少し変えてやると大丈夫です
これだとhttpのサイトでも表示できました