Skip to content

Instantly share code, notes, and snippets.

@jlem
Created October 27, 2015 19:35
Show Gist options
  • Save jlem/4db8a217ff8be8eb1ac4 to your computer and use it in GitHub Desktop.
Save jlem/4db8a217ff8be8eb1ac4 to your computer and use it in GitHub Desktop.
Medium Laravel Article - leaky abstraction example
<?php
DemonstrationController
{
public function createPost()
{
// validate request, create the post, and...
$member = Auth::user()->getMember();
$member->posts++;
$member->save();
}
public function deletePost()
{
// validate request, delete the post, and...
$member = Auth::user()->getMember();
if ($member->posts > 0) {
$member->posts--;
$member->save();
}
}
public function dashboard()
{
$members = Member::orderBy('posts', 'DESC')->take(20)->get();
return view('dashboard', compact('members'));
}
}
<?php
@foreach($members as $member)
{{$member->display_name}} - {{$member->posts}} posts
@endforeach
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment