SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
CakePHP      SNS
 CakePHPでつくる地域SNS
~全国40
   40           SNS
   40ヶ所以上で展開する地域SNS
                SNSのシステム~




           CakeMatsuri
           2009.10.31 あつ
■ 名前  あつ
■ 所属  株式会社 一六社(いちろくしゃ)
■ ブログ WEB
       WEB
       WEBで地域活性化
       CakePHP
       CakePHP
       CakePHPクッキング
なぜCake?
  Cake?
地域SNS
       SNS
       SNS高蔵寺




http://kozoji.chiikisns.net/
地域SNS
  SNS
  SNS加子母(かしも)




http://sns.kashimo.net/
地域SNS
      SNS
      SNS鵠沼(くげぬま)




http://sns-kugenuma.sapio16.jp/
今日話すこと
ドメインが
 ばらばらな
サイトの作り方
ドメインが
      ばらばら
・http://kozoji.chiikisns.net/
 http://kozoji.chiikisns.net/
・http://sns.kashimo.net/
 http://sns.kashimo.net/
・http://sns-kugenuma.sapio16.jp/
 http://sns-kugenuma.sapio16.jp/
WEB DB
WEB+DB
(PostgreSQL
 PostgreSQL
 PostgreSQL)
地域SNS
  SNS
  SNS高蔵寺
ドキュメントルート
            Cake   app

                   cake
地域SNSこんな感じではなく
  SNS
  SNS加子母
ドキュメントルート
            Cake   app

                   cake
Cake
Cake本体
           app    webroot

地域SNS
  SNS
  SNS高蔵寺

            コピー

地域SNS
  SNS
  SNS加子母
各地域SNS
       SNS
       SNSのドキュメントルート
         /index.php
<?php
  if (!defined('ROOT')) {
     define('ROOT', '/path_to_cake_install');
  }
  if (!defined('APP_DIR')) {
     define('APP_DIR', 'app');
  }
デザインも
ばらばら
そもそもなんで
 そんなに
 ばらばら?
でもレイアウト
ファイルって
編集できる?
レイアウトファイル
<body>
 :
[main_contents]
 :
[sub_contents]
 :
app/app_controller.php
function afterFilter()
{
  $this->layout = null;
  $this->output =
     file_get_contents('各SNSのレイアウト');
  $this->output = str_replace('[main_contents]',
     $contents, $this->output);
}
苦労した点
苦労した点?
Controller:20
Model:22
View:172
30
30日でできた
OpenidComponent
QdmailComponent
日本語化ツール
アソシエーション
  で苦戦
$this->Model->query(
'select * from TableA');
そんな時は
 joins
$joins = array(
   array(
      'table' => 'model_c', 'alias' => 'ModelC', 'type' => 'INNER',
      'conditions' => 'ModelC.aid = ModelA.id'
   ),
   array(
      'table' => 'model_b', 'alias' => 'ModelB', 'type' => 'INNER',
      'conditions' => 'ModelB.id = ModelA.bid'
   )
);
$params = array(
   'conditions' => array('ModelA.flg' => 0, 'ModelB.flg' => 0,
      'ModelC.cid' => $cid
   ),
   'joins' => $joins,
);
$data = $this->ModelA->find('all', $params);
今後の予定
Ktai Library
ありがとう
ございました

Contenu connexe

Similaire à CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」

Cakephp plugin for_facebook
Cakephp plugin for_facebookCakephp plugin for_facebook
Cakephp plugin for_facebookEiji Yokota
 
テーマ作成初心者向け Word pressサイト構築のポイントと 便利なプラグイン
テーマ作成初心者向け Word pressサイト構築のポイントと 便利なプラグインテーマ作成初心者向け Word pressサイト構築のポイントと 便利なプラグイン
テーマ作成初心者向け Word pressサイト構築のポイントと 便利なプラグインkenji goto
 
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)Takayuki Gondoh
 
Php conference 2010 final
Php conference 2010 finalPhp conference 2010 final
Php conference 2010 finalhirookun
 
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925Yu Ito
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについてMasahito Zembutsu
 
Laravel5を使って開発してみた
Laravel5を使って開発してみたLaravel5を使って開発してみた
Laravel5を使って開発してみたTakeo Noda
 
Cake Php ページ送り機能
Cake Php ページ送り機能Cake Php ページ送り機能
Cake Php ページ送り機能柴田 篤志
 
Xoopsサイト制作セミナー 20120922
Xoopsサイト制作セミナー 20120922Xoopsサイト制作セミナー 20120922
Xoopsサイト制作セミナー 20120922Toshihiro Takehara
 
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourceMashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourcecmutoh
 
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・Yoshie Kaneno
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUpKenichi Mukai
 
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めよう
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めようWebComponentsをPolymerとgulpとyeomanでさっくり使い始めよう
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めようHidetaka Okamoto
 
今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイト今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイトrie05
 
【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会Yuki Okada
 
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれMicrosoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれHiroaki Oikawa
 
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4Taku Unno
 
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)EC-CUBE
 
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)Masanori Ishigami
 

Similaire à CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」 (20)

Cakephp plugin for_facebook
Cakephp plugin for_facebookCakephp plugin for_facebook
Cakephp plugin for_facebook
 
テーマ作成初心者向け Word pressサイト構築のポイントと 便利なプラグイン
テーマ作成初心者向け Word pressサイト構築のポイントと 便利なプラグインテーマ作成初心者向け Word pressサイト構築のポイントと 便利なプラグイン
テーマ作成初心者向け Word pressサイト構築のポイントと 便利なプラグイン
 
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
 
Php conference 2010 final
Php conference 2010 finalPhp conference 2010 final
Php conference 2010 final
 
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
Laravel5を使って開発してみた
Laravel5を使って開発してみたLaravel5を使って開発してみた
Laravel5を使って開発してみた
 
Cake Php ページ送り機能
Cake Php ページ送り機能Cake Php ページ送り機能
Cake Php ページ送り機能
 
Xoopsサイト制作セミナー 20120922
Xoopsサイト制作セミナー 20120922Xoopsサイト制作セミナー 20120922
Xoopsサイト制作セミナー 20120922
 
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourceMashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
 
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
 
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めよう
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めようWebComponentsをPolymerとgulpとyeomanでさっくり使い始めよう
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めよう
 
今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイト今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイト
 
【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会
 
OSC2013@FUKUOKA
OSC2013@FUKUOKAOSC2013@FUKUOKA
OSC2013@FUKUOKA
 
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれMicrosoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
 
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4
 
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
 
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
 

Plus de 柴田 篤志

オープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoyaオープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoya柴田 篤志
 
Cake Php開発事例
Cake Php開発事例Cake Php開発事例
Cake Php開発事例柴田 篤志
 
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~柴田 篤志
 
Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門柴田 篤志
 
JavaScript&Firebug入門
JavaScript&Firebug入門JavaScript&Firebug入門
JavaScript&Firebug入門柴田 篤志
 
Cake Php パン屋へ行こう
Cake Php パン屋へ行こうCake Php パン屋へ行こう
Cake Php パン屋へ行こう柴田 篤志
 
Cake Php キャッシュのやり方
Cake Php キャッシュのやり方Cake Php キャッシュのやり方
Cake Php キャッシュのやり方柴田 篤志
 
開発ツールの紹介(080316)
開発ツールの紹介(080316)開発ツールの紹介(080316)
開発ツールの紹介(080316)柴田 篤志
 
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)柴田 篤志
 
CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)柴田 篤志
 
第1回SE勉強会(080302)
第1回SE勉強会(080302)第1回SE勉強会(080302)
第1回SE勉強会(080302)柴田 篤志
 

Plus de 柴田 篤志 (12)

オープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoyaオープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoya
 
Cake Php開発事例
Cake Php開発事例Cake Php開発事例
Cake Php開発事例
 
Life Hack
Life HackLife Hack
Life Hack
 
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
 
Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門
 
JavaScript&Firebug入門
JavaScript&Firebug入門JavaScript&Firebug入門
JavaScript&Firebug入門
 
Cake Php パン屋へ行こう
Cake Php パン屋へ行こうCake Php パン屋へ行こう
Cake Php パン屋へ行こう
 
Cake Php キャッシュのやり方
Cake Php キャッシュのやり方Cake Php キャッシュのやり方
Cake Php キャッシュのやり方
 
開発ツールの紹介(080316)
開発ツールの紹介(080316)開発ツールの紹介(080316)
開発ツールの紹介(080316)
 
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
 
CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)
 
第1回SE勉強会(080302)
第1回SE勉強会(080302)第1回SE勉強会(080302)
第1回SE勉強会(080302)
 

CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」