MAMPのバーチャルホスト

参考:https://manablog.org/mamp-vhosts/

 

httpd.conf

ファイルの場所:/Applications/MAMP/conf/apache/httpd.conf

# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

 

httpd-vhosts.conf

ファイルの場所:/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

 

<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs"
    ServerName localhost
    ErrorLog "/Applications/MAMP/logs/apache_error.log"
</VirtualHost>

vi /private/etc/hostsで編集

127.0.0.1	hogehoge.com

jQuery.Tagify.jsでタグ入力機能

https://qiita.com/qwe001/items/db553bff75353f60320d

 

  • 任意の文字を入力すると、部分一致する入力候補を画面に表示する
  • 入力候補を選択するか、入力を確定すると、タグ要素として入力内容を表示する
  • 送信ボタンを押すと、タグ要素を任意の区切り文字で分割したひとつの文字列を出力する

composerで管理してみる / さくらレンタルサーバー

https://qiita.com/ritukiii/items/4462124c475a0fc35f31

 

url -s http://getcomposer.org/installer | php

これだけでOKです。

こうすると、同じディレクトリに composer.phar というファイルが生成されてると思います。

ライブラリをインストールしてみる

1. 同じディレクトリに”composer.json”という名前のファイルを下記内容で作成。

試しにpimple入れてみます。

{
    "require": {
        "pimple/pimple": "v2.0.0"
    }
}

2. インストールする

$ php composer.phar install


$ ssh ACCOUNTNAME@DOMAIN.sakura.ne.jp

最初にSSHでさくらにログインします。
sshの後に、さくらのアカウント名@初期ドメイン名を入れます。
パスワードを聞かれるので、サーバパスワードを入力すると以下のようなメッセージが出て、ログイン完了です。

$ ssh USERNAME@DOMAIN.sakura.ne.jp
USERNAME@DOMAIN.sakura.ne.jp's password: 
FreeBSD 9.1-RELEASE-p24 (SAKURA17) #0: Thu Feb  5 10:03:29 JST 2015

Welcome to FreeBSD!

Composerをインストール

% curl -sS https://getcomposer.org/installer | php

このコマンドでインストールされます。

All settings correct for using Composer
Downloading...

Composer (version 1.5.1) successfully installed to: /home/DOMAIN/composer.phar
Use it: php composer.phar

成功するとこのように表示されます。

% php composer.phar

このコマンドで、ちゃんとインストール出来ているか確認します

Eloquentを単品で使用

https://qiita.com/IganinTea/items/16bad23bd4e4cbed337a

 

 

テーブル作成

Laravelでマイグレーションを行うのと同様のコードで実装できます。

require_once 'bootstrap.php';

use Illuminate\Database\Capsule\Manager as Capsule;

Capsule::schema()->create('users', function ($table) {
    $table->increments('id');
    $table->string('email');
    $table->timestamps();
});

実践

実際に使用する方法を記載していきます。
Eloquentではクエリービルダーを使用する方法とモデルを作成して使用する方法があると思いますが、これは単品で使用する時も同様です。

クエリ発行

クエリービルダーを使用する方法です。
コメントアウトしてある行とその下の行は同じ動きをするものです。

挿入

require_once 'bootstrap.php';

use Illuminate\Database\Capsule\Manager as Capsule;

//$result = Capsule::insert('insert into users VALUES (null, "test@example.com", null, null)');
$result = Capsule::table('users')->insert([
    'email' => 'test@example.com'
]);

選択

require_once 'bootstrap.php';

use Illuminate\Database\Capsule\Manager as Capsule;

//$result = Capsule::select('select * from users');
$result = Capsule::table('users')->select('*')->get()->toArray();

更新

require_once 'bootstrap.php';

use Illuminate\Database\Capsule\Manager as Capsule;

//$result = Capsule::update('update users set email = "change@example.com" where id = 1;');
$result = Capsule::table('users')
    ->where('id', 1)
    ->update(['email' => 'change@example.com']);

削除

require_once 'bootstrap.php';

use Illuminate\Database\Capsule\Manager as Capsule;

//$result = Capsule::delete('DELETE FROM users WHERE id = 6');
$result = Capsule::table('users')->delete(3);

モデル作成

もちろんモデルを作成して、各メソッドを呼び出すこともできます。

namespace Model;

use Illuminate\Database\Eloquent\Model as EloquentModel;

class User extends EloquentModel
{
    protected $fillable = ['email'];
}

挿入

require_once 'bootstrap.php';

use Model\User;

//$user = new User;
//$user->email = 'test@example.com';
//$user->save();

$user = User::create([
    'email' => 'test2@example.com'
]);

選択

require_once 'bootstrap.php';

use Model\User;

$userArray = User::find(1);

更新

require_once 'bootstrap.php';

use Model\User;

$user = User::find(1);
$user->update([
    'email' => 'change@example.com'
]);

削除

require_once 'bootstrap.php';

use Model\User;

User::find(2)->delete();

データベースライブラリ(illuminate/database)

$capsule->setAsGlobal();

$capsule->bootEloquent();


// テーブルを指定してデータを取得
$data = Capsule::table('table1')->get();
print_r($data);

// テーブルに条件を指定してデータを取得
$data = Capsule::table('table1')->where('id', '>=', 4)->get();
print_r($data);

// SQLによる抽出
$data = Capsule::select('select * from table1 where id = ?', [3]);
print_r($data);

// トランザクション
Capsule::beginTransaction();

// 追加テスト
$data = Capsule::insert('insert into table2 (title, memo) values(?, ?) ', ["hoge1", "memo1"]);

// ロールバック
Capsule::rollback();

// 追加テスト
$data = Capsule::insert('insert into table2 (title, memo) values(?, ?) ', ["hoge2", "memo2"]);
print_r($data);

// コミット
Capsule::commit();

// データ取得
$data = Capsule::table('table2')->get();
print_r($data);

PHPライブラリ

ユーザー認証

https://cartalyst.com/manual/sentinel/2.0#authentication

 

PHPでユーザー管理するならSentinelが便利すぎる!

https://sukohi.blogspot.com/2016/01/phpsentinel.html

PHPMailer (

さくらのメールボックスを PHPMailer で SMTP + STARTTLS で送信する時の注意点)

https://qiita.com/ameyamashiro/items/c7283bd1ec5dd3146ef9

 

PHPMailer の利用

jQuery-File-Uploadを使う

https://qiita.com/shiccocsan/items/074e03c5f41f986afc29

 

php あれこれ

PHPの認証ライブラリ Sentinel

 

PHPの画像認証ライブラリ「Securimage」の使用方法

https://helog.jp/php/securimage/

ブログ記事等のエディタを実装する際はCKEditor!

https://qiita.com/kenzooooo/items/ecdce2b12a72cb750a18

 

PHP 決済ライブラリ

https://qiita.com/4_R_R_S/items/c9d8e949c9d9b2fcd0d7

 

日付を扱う時に便利なPHPライブラリ

https://co.bsnws.net/article/177