Coder Social home page Coder Social logo

internet_software_2016_b2teama's Introduction

追記

idのhush値を利用して認証させたかったのでUsersにid__hushというフィールドを追加しています。masterで実装したは確認できてないですが,modelで見るフィールドをid_hushに変えている筈です

追記2016/09/22

アソシエーションを実装しました。UserDBをbakeし直してみてください あと他はLINEで

パスワードがDBから平文に戻らない問題はvarbinary(255)にすると解決しました

あっといた方が良い知識

  • git(管理ツール) git-itあたりを使うと良いかも?
  • PHPの知識(多少)? progateやドットインストールをすると良い

cakePHPについて

cakePHPはPHPを用いたフレームワーク。要はwebページを簡単に作れるツール。 似たようなものにRubyで書かれたRuby on Rails(RoR)がある。

今回使っているのが2.x系なので [CookBook] (http://book.cakephp.org/2.0/ja/index.html) に説明が乗っているので見てください。ブログチュートリアルはとりあえず読んでください

変更するべきディレクトリ等

基本的に操作するディレクトリは

  • Model

  • View

  • Controller

    の3つ。特にControllerを書き換える事が序盤は多い筈。

ディレクトリ詳細

Model

Modelでは使用するDBやController,Viewなどで使う技術を裏で書いておく事が多い。 例えばDBからフィールドを読む,前や後にhogehogeっていう処理をする場合は,そこに記述を行う。

View

平たく言えばブラウザで見れるページに関する記述を行う。 Twitter系ではログインページへのボタンやTLを書いているとこ。データはControllerからもらう。

ここで入力されたデータはセッション変数として保存されるのでController側からでは$this->request->dataなどに保存されている。尚投稿するときのHTTPリクエストはpostなはず

Controller

基本的に 処理 とついたものを行うところ。1モデル1Controller。 Controllerで関数として作られたもの(CakePHPではアクションと呼ぶ)はURLとして入力できるようになる。つまり,view側で指定しないと1アクション1viewが基本となる。

Controller詳細

よく出てくる **$this->**とは自分のクラスのコンストラクタ。意味がわからないなら今買いてるソースコードの機能を指してると考えて欲しい。

Auth系

cakePHPにおける認証アクションをまとめたもの。Twitterクライアントではログインやログアウトをするのでここを通すことになる。if文でAuth->loginにデータを送り,ログイン出来ればページを遷移するというControllerを書けばページが送れる。

DBについて

本来はmySQL等のデータベースと接続をする言語を用いて命令を書かないと行けないけれど,cakePHPはそこを隠蔽して勝手にやってくれる。やったね! ->User->readやsaveがそれ系。詳しくはcookbookを見て欲しい。 変数にDBからフィールド(一列)を持ってくると,配列の中に配列が入っている状態になる。(詳しくはcook(ry ) cookie処理はその辺を考えれば出来るはず。

DBからreadする際に確認しているフィールドはidフィールド。Modelに記述をすることで変更可能

デバッグについて

使用するControllerでコンポーネントとしてDebugKit.Toolbarを使用すれば,画面の上にcakeマークがでてきて押すとその時のsession情報などが入る。そこを見て欲しい。また,変数を確認したい場合はprint_r($user);とかすれば確認が出来る。

追記(2016/09/21)

アソシエーションについて

詳しくは 講義ページ 参照。ForeingKeysは僕の設定だとuser_id_hush 。要はPosts側の設定となる。 この昨日はForeingKeysを動的に取ってくるわけではないので,何かしらの記述が必要。 考えられるのは $user = $this->Auth->user();すると $userに AUthでログインしたユーザ情報が入る。 それを使うとうまくいきそう。 データ保存系はここを参照 (データバリデーションも)

internet_software_2016_b2teama's People

Contributors

ne1ghbor avatar

Watchers

James Cloos avatar AnaTofuZ avatar  avatar  avatar

Forkers

ne1ghbor

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.