質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

2回答

5549閲覧

[Laravel] URLにユーザのハンドルネームを使ってルーティングするには?

yamaguchi79

総合スコア87

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

2クリップ

投稿2014/08/30 05:19

今日からLaravelを使い始めました。宜しくお願いします。
さっそくユーザのログインプログラムを作ったのですが、認証成功後、ユーザのハンドルネーム(半角英数のみ)をURLにいれた下記のようなページに遷移させます。

ユーザ名「kuma」の場合
http://www.hoge.co.jp/kuma

このページではユーザ「kuma」のプロフィール詳細を表示します。
しかしこれをルーティングしようとすると

lang

1Route::get('www.hoge.co.jp/{user_name}', function($user_name) { 2 ; 3}

になるかと思うのですが、ここからどうしたらよいかわからないのです。
ここから何とかしてコントローラに$user_nameを渡したいのですが、どうしたらよいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

http://www.hoge.co.jp/kuma
こんな感じの場合は

routes.php
でこのようにルーティング

lang

1Route::get('/{userId}','ViewModeController@home');

コントローラーではこのように
/app/controllers/ViewModeController.php

lang

1class ViewModeController extends BaseController { 2 3 public function home($userId) 4 { 5//データベースからユーザーIDに該当するユーザーの情報をまとめて抜き出して 6 $currentUserInfo = DB::table('users')->where('userUniqId', $userId)->first(); 7//連想配列に入れtBladeテンプレートに渡しています。 8 $data['userInfo'] = $currentUserInfo; 9 return View::make('home', $data); 10 }

そうすることでビューでは
/view/home.blade.php

lang

1<p class="userName">{{ $userInfo->name }}</p>

のようにすることでルーティングのユーザーIDの情報を表示することができます。

投稿2014/11/18 08:13

koshibanbi

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

普通は下記のような感じになると思います。
まずapp/route.phpに

lang

1Route::get('profile/{user_name}', array( 2 'uses' => 'UsersController@action' 3));

そしてapp/models/UsersController.phpに以下のメソッドを追加します。

lang

1public function action($user_name) 2{ 3 // ユーザのプロフィール情報を取得 4 // : 5 6}

です。
このコードだとユーザのプロフィール詳細ページは
http://www.hoge.co.jp/profile/kuma
などになります。

投稿2014/08/31 06:53

p19850702

総合スコア27

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問