支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


<1.概要>

<1.PHPとは>

「PHP」とは、HTMLに埋め込むことができ、Web開発で使用されるスクリプト言語になります。

特徴はWebページやWebアプリケーションり作成に特化している言語です。特に「Amazon」や「Yahoo!ショッピング」等といったネット通販サイトや「Twitter」や「Facebook」等のSNSといったみる時間帯や検索するタイミングによって内容が変化する「動的なWebサイト」の作成に向いています。

<2.CakePHPとは>

「CakePHP」とは上段で説明した「PHP言語」を使用したオープンソースのフレームワークのことです。

フレームワークとは開発を助ける機能の詰め合わせを指します。「CakePHP」にもWebページやWebアプリケーションを作成するための機能が多く搭載されています。また、サーバー設定や動作環境の整備をほとんど必要としないうえ、日本語での学習サイトが豊富にあるため、導入の手軽と学習のしやすさに定評のあるフレームワークになります。

<2.CakePHPの特徴>

<1.特徴>

  • ・MVCアーキテクチャ
  • CakePHPの主な基本設計となる以下3つの機能で構築されています。

  • ・Model:データベースとのやりとりを行う機能です。
  • ・View:ブラウザへの表示を行う機能です。
  • ・Control:アプリケーション全体制御を行う機能です。
  • CakePHPのWebアプリケーションは「MVCアーキテクチャ」を主として設計されており、それぞれが独立して機能しています。そのため、分担での作業がしやすく機能の拡張や仕様変更に対応ができます。

  • ・bake機能
  • MVCアーキテクチャに関わるファイルを作成する機能になり、対話形式の質問に答えるだけでプログラムの自動生成が行われます。この機能を利用することで、基礎部分に該当するソースコードの作成することが可能です。

    他にもテキストボックスやラジオボタンのような、フォーム関連のタグを自動生成できる「フォームヘルパー」や、テーブルレコードの追加・削除等を行うマスター画面の作成に役立つ「スキャフォールド」等、bacaのように開発の手間を省く機能が登載しています。

  • ・重複処理を1つにまとめることが可能
  • オブジェクト利用で、同一処理を複数のファイルに記載する必要性がなく、1つの処理を複数個所にあてがって実装することが可能です。また同一処理を複数箇所に記載する必要がないため、少ないコード量で可毒性の高いコードを記載することが可能です。

<3.PHP(CakePHP)でできること>

<1.ECサイトやイベント集客サイトの作成>

インターネット上に開設した自社製品を販売したり、購入のための会員情報の登録ページといった「ECサイト」の作成に向いています。

イベントやセミナー等の告知、参加者の募集といった集客サイトの作成やAmazon等のネットショッピングサイトなど、アクセスするタイミングでページが変化するといった「動的なページ」を構築します。

<2.グループウェアの作成>

社内での情報共有やチームメンバーとのコミュニケーションを取るためのツールです。電子掲示板やミーティングのための会議室の予約機能、ドキュメント共有機能等を搭載するために、PHPのような開発言語が重宝されています。

また、システム開発を担っている企業では、CakePHPを用いてグループウェアのような業務管理システムを開発するケースもありまする。

<3.手軽なWeb開発>

ブログ作成ソフトの「WordPress」等、PHP、CakePHPを使用して開発されたものは、手軽さに開発できる反面、プログラムの処理速度が遅いデメリットがあります。

比較的規模の小さいWebサイトやアプリケーションを作成することには適していますが、規模の大きいデータを取り扱う場合、データ量が圧迫して処理速度が遅くなります。

PHPを使用したフレームワークは、機能の拡張性に優れた「LaraVel」や処理速度に定評のある「Codeigniter」等のバリエーションに富んだフレームワークが多くあります。

<4.CakePHPエンジニア>

<1.仕事内容>

CakePHPエンジニアは「Webシステム」をメインとし、大手の受託開発や自社開発案件を仕事としています。その具体的な案件は大型受託案件の開発、保守・運用、注文建築の総合アプリ、コンテンツダウンロード販売サイト等です。

<2.働き方>

  • 1.自社開発案件と受託案件との違い
  • Slerが他社から案件を受託する、また他社常駐との指示といった受託案件・常駐案件だは、常に発注側の都合に合わせて仕事をこなしていきます。

    発注側の都合でない限り、開発サイド都合での納期遅延は許されず、業務も外部に持ち出して働く「リモートワーク」も適用されません。

    一方の自社開発案件は、自社が運営するサービス等を支えるWebシステムの開発がメインとなります。働き手のワークライフバランスを重視としいった個人の働き方を優先しているため、受託・常駐といった他社都合の影響をうけない比較的「自由」な働き方となります。

<5.CakePHP案件で安定を築くポイント>

<1.フレームワークのマルチリンガル>

CakePHPの案件はCakePHP以外のフレームワークとの併用が多いです。例えば、機能テスト等、多様のツールを搭載した「Symfony」や、簡単なWebサービスやアプリケーションの開発に向いている「FuelPHP」等があります。

PHPやCakePHPで言語使用やMVCフレームワークの考え方を理解していれば、他のフレームワークとの相違点を抑えることができ、比較も容易にできます。

<2.データベースの知識が必須>

PHPという言語自体、「データベース」、中でも「MySQL」との相性がいいです。案件情報でも併用して記載されているケースが多いです。

1つのWebシステムがデータベースなしで成立することはありません。「フレームワークに関することは履修している」イコール「データベースに関することも最低限履修している」とみなされるケースがあります。直接的な関係性はなくとも、データベースの履修もCakePHPを履修すると同時に学ぶと、案件受注時大きなアドバンテージになります。

<3.フロントエンドの技術の習得>

CakePHPを使用することは、ユーザーが直接触れるフロントエンドの開発をすることもあります。

フロントエンドの技術の移り変わりは激しく、様々なツールやフレームワークがその都度出てくるため、常に最新の状況をチェックしておく必要があります。

Ul構築のためにJavaScriptだけでなく、各JavaScriptフレームワークを習得しておくといいです。一例として動作端末が多いアプリケーションを作成できる「AngularJS」や、幅広い規模のアプリケーションの作成に向いている「Vue.js」等があります。

<3.ビジネス、マネジメントスキル>

CakePHP案件は「受託・常駐」や「自社開発」といった働き方がある中、「自社開発」においては「開発」が必ずしもメインであるとは限りません。案件の中には「自社ビジネスのマネジメント」や「マネージャー候補に」等の文言が記載されている場合があります。

エンジニアとして進むのも1つのキャリアです。自社開発に携わる場合、ビジネス的ものの見方、自社のビジネスをWebシステムに落とし込む要件定義や基本設計の力、自社内で立案、企画されたプロジェクトのマネジメントを経験しておくと、後の仕事において役に立ち、やり幅がグッと広がり自身のキャリアアップにも繋がります。

<6.まとめ>

今なおIT技術は進展し続ける中、簡単にWeb開発が行える「CakePHP」で多様なアプリ開発の需要がなくなることはありません。そのうえで若手のエンジニアが減少傾向にある現代だからこそ、「CakePHP」含めWeb開発に必要な言語、併用できるフレームワークの知識と実務経験を持ち合わせたエンジニアの需要は、高単価の案件を受注しやすい1つのポイントになります。