ラベル cakephp 開発環境 の投稿を表示しています。 すべての投稿を表示
ラベル cakephp 開発環境 の投稿を表示しています。 すべての投稿を表示

2012年9月4日火曜日

cakephp2.2 サーバに配置、gitで管理

○ソーシャルアプリ開発の準備段階

(*)バージョン管理は、git。
   ローカルでもサーバでも編集できる設定にするね。

■ローカルPCでソフトを集めて、サーバに配置して、gitするまでの流れ

1)ローカルPCに必要なソフトをダウンロードして、ローカルPCで動作を確認する
2)動作したcakephpをフォルダごと、ZIPして、目的のサーバにFTPする
3)サーバで、unzip(展開)して、必要な設定をする。サーバにアクセスして動作確認
4)ローカルPCにサーバのリポジトリのコピーを取る。ローカルPCでの設定をする。

□以下の(1)~(5)をダウンロードして、(2)~(5)は、cakephp2.2.2のwebrootに配置する。

(1)cakephp 2.2.2
(2)twitter bootstrap2.1.0
(3)jQuery
(4)jQuery UI
(5)jQuery mobile

配置は、レイアウトファイルの例を見て参考にしてください。

git-GUIの使い方は、

【git-GUI 基礎編 gitを使いまくる】


を参考にしてください。


2012年9月2日日曜日

レイアウトファイル cakephp2.2 + twitter bootstrap2.1 + jQuery1.7.2 + jQuery UI 1.8.21

■HTML5 + cakephp2.2.1 + twitter bootstrap2.1 と jQuery1.7.2 と jQueryUI 1.8.21

例えば、以下のレイアウトファイルを app/Vie/Layouts/ に配置すれば、
Twitter Bootstrap と jQuery を 自由に使えます。

レイアウトファイル  app/View/Layouts/home.ctp (ファイル名はお好きに)
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="Toshio Nakashima">
<title><?php echo $title_for_layout; ?></title>
<?php  echo $this->Html->css('/css/bootstrap/bootstrap');  ?>
<?php  echo $this->Html->css('/css/bootstrap/bootstrap-responsive');  ?>
<?php  echo $this->Html->css('/css/bootstrap/docs');  ?>
<?php  echo $this->Html->css('/css/bootstrap/prettify');  ?>
<?php  echo $this->Html->css('/css/bootstrap/ticker');   ?>
<?php  echo $this->Html->css('/css/bootstrap/jquery.multiselect'); ?>
<?php  echo $this->Html->css('/css/bootstrap/jquery.multiselect.filter'); ?>

<?php  echo $this->Html->css('/css/themes/base/jquery.ui.base'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.theme'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.core'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.resizable'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.selectable'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.accordion'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.autocomplete'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.button'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.dialog'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.slider'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.tabs'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.datepicker'); ?>
<?php  echo $this->Html->css('/css/themes/base/jquery.ui.progressbar'); ?>
<?php  echo $this->Html->css('/css/themes/ui-lightness/jquery-ui-1.8.21.custom'); ?>

<?php  echo $this->Html->css('/css/jquery.ui.timepicker'); ?>

<?php echo $this->Html->script('/js/bootstrap/jquery-1.7.2');  ?>

<?php echo $this->Html->script('/js/bootstrap/bootstrap-transition');  ?>
<?php echo $this->Html->script('/js/bootstrap/bootstrap-alert');  ?>
<?php echo $this->Html->script('/js/bootstrap/bootstrap-modal');  ?>
<?php echo $this->Html->script('/js/bootstrap/bootstrap-dropdown');  ?>
<?php echo $this->Html->script('/js/bootstrap/bootstrap-scrollspy');  ?>
<?php echo $this->Html->script('/js/bootstrap/bootstrap-tab');  ?>
<?php echo $this->Html->script('/js/bootstrap/bootstrap-tooltip');  ?>
<?php echo $this->Html->script('/js/bootstrap/bootstrap-popover');  ?>
<?php echo $this->Html->script('/js/bootstrap/bootstrap-button');  ?>
<?php echo $this->Html->script('/js/bootstrap/bootstrap-collapse');  ?>
<?php echo $this->Html->script('/js/bootstrap/bootstrap-carousel');  ?>
<?php echo $this->Html->script('/js/bootstrap/application');  ?>

<?php echo $this->Html->script('/js/bootstrap/jquery.carouFredSel-5.1.0.js'); ?>
<?php echo $this->Html->script('/js/bootstrap/ticker'); ?>

<?php echo $this->Html->script('/js/jquery-ui-1.8.21.custom.min'); ?>
<?php echo $this->Html->script('/js/jquery.ui.datepicker-ja');  ?>

<?php echo $this->Html->script('/js/jquery.ui.timepicker'); ?>

<?php echo $this->Html->script('/js/bootstrap/jquery.multiselect'); ?>
<?php echo $this->Html->script('/js/bootstrap/jquery.multiselect.filter'); ?>

<?php echo $this->element('google_analtics'); ?>
</head>

<body lang="ja">
<div id="fb-root"></div>

<div class="container-fluid">

<?php echo $this->Session->flash();  ?>
<?php echo $this->fetch('content');  ?>
  <div class="span12">
    <div class="row-fluid">
       (C)copyright SoftwarefactoryTokyo inc. by ソフトウェア工場
    </div>

</div><!-- container-fluid -->

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

</body>
</html>


■コントローラ

例えば、

public function test($id=null) {
   $this->layout = 'home';   // とレイアウトファイルを指定する


}

(PC画面向け組み合わせ)CakePHP + MySQL + jQuery + Twitter Bootstrap

さくさく開発環境を採用  (というか、利用させて、いただきます)


【基本】CakePHP+MySQL+jQuery+Twitter Bootstrap を基本とし、

PC画面は、Twitter Bootstrapを使い、画面の縦横の並びを合わせ、見やすい画面作りをしたい

jQueryは、jQUery + jQuery UI + jQuery Mobileを利用する

スマフォ画面は、jQuery Mobileで対応する

iPhoneアプリ/アンドロイドアプリは、 taitanium-mobileで対応させる

■Webアプリ
・PC用       基本
・スマフォ用         jQuery Mobile
・タブレット用       基本 + α 

■アプリ
・Facebookページアプリ 基本
・iPhoneアプリ       titanium-mobile
・アンドロイドアプリ    titanium-mobile

○開発環境
【データベース】 MySQL

【開発言語】 PHP、CakePHP2.2.1(最新)

(検討)
・データベースは、OracleかMySQLだけど、
  1.レンタルサーバでも対応できる
  2.予算的にMysql

・プログラミング言語
  1.PHP→CakePHPでしょう。超リアルタイムはいらないので、Javaの必要はない。
    CakePHPは、多国語対応が、2.2.1からとっても良くなったので。

2012年6月22日金曜日

git-GUI 基礎編 gitを使いまくる

この記事のメニュー

(1)ローカルマシンにサーバのリポジトリを複製するぞ
(2)サーバのコンテンツを配置する(リポジトリを作る)のが先じゃない?
(3)サーバでの作業
□git-GUIを使う

「環境」
    ・サーバ   ・gitコマンドが使えるレンタルホスト:OS: Linux
    ・開発マシン ・windows、(Linuxでもほぼ同じです) 
「要件」
    ・公開サーバに「コンテンツ」を置くが、実機での修正もしたい。
    ・開発マシンは、windows/Linux/Macが使えるように。


  (1)ローカルマシンに、サーバのリポジトリを複製するぞ

□作業の順序
(1)gitのクライアントをダウンロードする
(2)インストールする。画面に従ってすすめばOKです。
(3)サーバから、ローカルPCにリポジトリを複製する。(git-GUIの使い方ですね)

(1-1)サーバからリポジトリを複製する (サーバがオリジナルですね)
・ローカルPCで、配置したいディレクトリで右クリックすると、下の画面が出ます。

ソースの位置と
ローカルPCのディレクトリを入力します

次にSSHのパスワードを聞いてきます(3回)ので、入力すると
ローカルPCにコピーされます。 

(1-2)ローカルPCの設定
ローカルPCの名前を設定しておく (必ず、やってね)

(1-3)ローカルPCの変更を、サーバにアップする
ローカルPCで、追加、変更をサーバにアップします。
使う順番は、画面の順番の通りに、押してゆけばOKですね。
 1) 変更をコミット予定に入れる
 2)署名
 3)コミット
 4)プッシュ(サーバにプッシュします

(1-4)サーバから変更を取ってくる リモート→取得元→originを選択する

(1-5)取ってきたのをマージする マージしなきゃあ反映されないぞっ

 (2)サーバにコンテンツを配置する(リポジトリを作る)のが先じゃない?
サーバ:リポジトリ作成」
「事前準備」
FTPなどで、このディレクトリに必要な初期コンテンツを上げておく、
サーバにログインして、ディレクトリ内に移動

例えば、cakephp2.2.2を配置したディレクトリが /web/cakephp222/ とすると

$>cd /web/cakephp222/
$>git init --shared=true
$>git config --add receive.denyCurrentBranch ignore
$>git add .
$>git commit -a -m "start"

・リポジトリをinit初期化して、
・全部のファイルをリポジトリに加えて add.
・変更をcommit して完了です。
・$git init --bare とすると、working treeをつくらない設定なので、
今回は、共有夕オプションの --shared=true

・git管理除外設定ファイル(DB設定ファイルとかキャッシュファイルとか・・)の 
 .gitignoreに必要なファイル名を書いておく
・CakePHPだと、ダウンロードのファイルに用意されているので、便利、そのまま、使う
(FTPで送る)

(3)サーバでの作業

リポジトリを作り損なったので、gitディレクトリを丸々削除したい
$>chmod -R g-s .git
$>chmod -R 747 .git
$>rm -rf .git

ブランチ作成
$>git branch branch_name

ブランチに作業を移行
$>git checkout branch_name

コミットし、メッセージはmessage
$>git commit -a -m "message"

修正をにマージ
$>git checkout master
$>git merge branch_name

ブランチを削除
$>git branch -d branch_name

マージしてないブランチを削除
$>git branch -D branch_name


はまった。
 UTF-8環境前提 (~/.bashrcに記述して)
export LANG=ja_JP.UTF-8


$ git config --global user.name "Your Name"
$ git config --global user.email you@example.com