Jan. 6, 2018, 2:31 p.m.
Nov. 22, 2017, 3:39 p.m.
Just a little note - if anyone ever has to make a database table of languages, countries, currencies, or anything else that has a unique text code I would recommend that you use the code as the primary key and as the foreign key for related tables.
It will save a lot of database overhead and make the code a lot cleaner if you don't always have to do a table join to get the code from the table.
Labels: coding
Oct. 29, 2017, 4:51 p.m.
I have really been loving Django lately, and I wrote another version of this site in it. That site is skooch.com. The new site uses the same database as this one, so the only real difference is the language they are written in.
I find Python to be a much more opinionated and formal language than PHP, which makes it a steeper learning curve, but it forces you to think things through a bit more. I find the extra effort to be well worth it in the end as far as code quality goes.
As a note the Python code was significantly shorter than the same code in PHP, for whatever that is worth.
Sept. 29, 2017, 12:10 p.m.
For a Laravel application I am working on the need arose to log errors to the database rather than to log files. I also wanted to show a custom error page instead of Laravel's default error page. This is my solution:
In app/Exceptions/Handler.php:
public function report(Exception $exception) { if(!config('app.debug')) { if ($this->shouldReport($exception)) { $this->logError($exception); } } if(env('APP_ENV') == 'local'){ parent::report($exception); } } public function render($request, Exception $exception) { if(!config('app.debug')) { if($this->shouldReport($exception)){ return response()->view('errors.500', compact('exception')); } } return parent::render($request, $exception); }
Function report checks to see if APP_ENV is set to local, if so it displays the error as normal. If it is not local it calls function logError which writes the error to the database.
Function render also checks APP_DEBUG and if it is set to true it reports the error to the screen as normal. If it is set to false it returns a custom error template which is stored in resources/views/error/500.blade.php.