<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Debugbar on ララジャパン</title>
        <link>https://www.larajapan.com/tags/debugbar/</link>
        <description>Recent content in Debugbar on ララジャパン</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Mon, 06 Jun 2016 03:25:24 +0900</lastBuildDate><atom:link href="https://www.larajapan.com/tags/debugbar/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Debugbarで楽々デバッグ</title>
        <link>https://www.larajapan.com/2016/06/06/debugbar%E3%81%A7%E3%83%87%E3%83%90%E3%83%83%E3%82%B0/</link>
        <pubDate>Mon, 06 Jun 2016 03:25:24 +0900</pubDate>
        
        <guid>https://www.larajapan.com/2016/06/06/debugbar%E3%81%A7%E3%83%87%E3%83%90%E3%83%83%E3%82%B0/</guid>
        <description>&lt;p&gt;以前に紹介した、&lt;a href=&#34;https://www.larajapan.com/2016/02/12/%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e8%aa%8d%e8%a8%bc%ef%bc%88%ef%bc%91%ef%bc%93%ef%bc%89debugbar/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Debugbar&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;私には、もうなくてはならないものになりました。対象の画面で実行されたDBのクエリーはすべて見ることができるし、セッションの中身の値も確認できる。&lt;/p&gt;
&lt;p&gt;そして、もうひとつ、プログラムの中で自分が見たいという変数を&lt;code&gt;debug()&lt;/code&gt;のヘルパー関数で、以下のように使用すれば、&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;UserController&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;extends&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Controller&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getUpload&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;view&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;user/upload&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;postUpload&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;Request&lt;/span&gt; $request)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#a6e22e&#34;&gt;debug&lt;/span&gt;($request&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;all&lt;/span&gt;());
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$file &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $request&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;file&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;file&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$filename &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $file&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getClientOriginalName&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$request&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;file&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;file&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;move&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;public_path&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;images&amp;#39;&lt;/span&gt;), $filename);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;以下の画面のように、バーで表示してくれます。&lt;/p&gt;
&lt;img src=&#34;screen1-1.png&#34; alt=&#34;screen1&#34; width=&#34;850&#34; height=&#34;447&#34; class=&#34;alignnone size-full wp-image-1006&#34; /&gt;
&lt;p&gt;行をクリックすれば、詳細を表示します。&lt;/p&gt;
&lt;img src=&#34;screen2.png&#34; alt=&#34;screen2&#34; width=&#34;661&#34; height=&#34;350&#34; class=&#34;alignnone size-full wp-image-1003&#34; /&gt;</description>
        </item>
        <item>
        <title>ユーザー認証（１４）Debugbar</title>
        <link>https://www.larajapan.com/2016/02/12/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E8%AA%8D%E8%A8%BC%EF%BC%88%EF%BC%91%EF%BC%93%EF%BC%89debugbar/</link>
        <pubDate>Fri, 12 Feb 2016 08:26:57 +0900</pubDate>
        
        <guid>https://www.larajapan.com/2016/02/12/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E8%AA%8D%E8%A8%BC%EF%BC%88%EF%BC%91%EF%BC%93%EF%BC%89debugbar/</guid>
        <description>&lt;p&gt;マルチ認証のトピックが続いていますが、同じブラウザを使用して「会員」と「管理者」の両方にログインしたらどうなるのでしょう？&lt;/p&gt;
&lt;p&gt;ログインはブラウザのクッキーを使用して、サーバーのセッションと繋がっています。Laravelはそれぞれに違うセッション、違うクッキーを使用するのでしょうか？それとも同じセッションで違う情報を保持するのでしょうか？興味ありませんか？&lt;/p&gt;
&lt;p&gt;ということで、便利なツールの紹介とともに、認証のセッションがどうなっているかチェックしてみましょう。&lt;/p&gt;
&lt;p&gt;ここで紹介するツールはDebugarというLaravelのためのツールです。&lt;/p&gt;
&lt;p&gt;これをインストールすると、画面下にDebugarの情報パネルが表示され、実行したLaravelの様々な情報を見ることができます。&lt;/p&gt;
&lt;p&gt;例えば、以下は会員のログイン成功直後の画面ですが、実行したDBのクエリーを見ることができます。DBテーブルusersに対するクエリーがあります。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;debugbar-login.png&#34; rel=&#34;attachment wp-att-742&#34;&gt;&lt;img src=&#34;debugbar-login.png&#34; alt=&#34;debugbar-login&#34; width=&#34;807&#34; height=&#34;604&#34; class=&#34;alignnone size-full wp-image-742&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;このツールのインストールはとても簡単です（GitHubに&lt;a href=&#34;https://github.com/barryvdh/laravel-debugbar&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;リポ&lt;/a&gt;あります）。&lt;/p&gt;
&lt;p&gt;まず、以下を実行します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;composer require barryvdh/laravel-debugbar
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;composer.jsonが更新されライブラリがダウンロードされインストールされます。&lt;/p&gt;
&lt;p&gt;次に、&lt;code&gt;config/app.php&lt;/code&gt;に以下を追加します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;providers&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; [
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#a6e22e&#34;&gt;Barryvdh\Debugbar\ServiceProvider&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;aliases&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; [
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Debugbar&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Barryvdh\Debugbar\Facade&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これで完了です。&lt;/p&gt;
&lt;p&gt;先の会員ログインを実行では、DBのクエリーの情報を見ることができましたが、セッションはどうなのでしょう？&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;debugbar-session.png&#34; rel=&#34;attachment wp-att-743&#34;&gt;&lt;img src=&#34;debugbar-session.png&#34; alt=&#34;debugbar-session&#34; width=&#34;807&#34; height=&#34;382&#34; class=&#34;alignnone size-full wp-image-743&#34; /&gt;&lt;/a&gt;
赤丸の部分がセッションの情報を見るボタンです。そして赤の四角の部分が、会員が認証されていることを示す情報です。&lt;code&gt;login-user..&lt;/code&gt;の部分です。&lt;/p&gt;
&lt;p&gt;さて、同じブラウザでもう１つタブを作成して今度は、管理画面にログインしてみましょう。以下が、ログイン成功後のセッション値です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;debuggar-session2.png&#34; rel=&#34;attachment wp-att-744&#34;&gt;&lt;img src=&#34;debuggar-session2.png&#34; alt=&#34;debuggar-session2&#34; width=&#34;824&#34; height=&#34;391&#34; class=&#34;alignnone size-full wp-image-744&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;値が増えていますね。しかし、今度は、&lt;code&gt;login-admin..&lt;/code&gt;と違う名前となっていますね。&lt;/p&gt;
&lt;p&gt;つまり、セッションの中で&lt;code&gt;guard&lt;/code&gt;の値をセッションの変数名として使い分けているわけです。&lt;/p&gt;</description>
        </item>
        
    </channel>
</rss>
