PHP Standards and Coding Styles Followed by EF Laravel Developers

PHP Standards and Coding Styles are important guidelines and conventions that developers follow to write clean, readable, and maintainable PHP code. Adhering to coding standards helps ensure consistency and collaboration among developers working on a project. There are several popular PHP coding standards and style guides.

In this article, I am going to share the coding standards followed by Electronic First Laravel developers.

Table of Contents

Comment

<?php

// This is a comment

Spaces

Spaces: 4

class MyController extends Controller
{
    public function index()
    {
        $title = "The Title";

        return view('example', compact('title'));
    }
}

App Folder

Folder name: First letter Capital

App\Helper
App\Services

File name: StudlyCaps

MyService.php
TheExampleJob.php

Views

Folder name: Lowercase and hyphen between two words.

components
the-components

File name: Lowercase and hyphen between two words.

components.blade.php
the-components.blade.php

Class

StudlyCaps (also known as PascalCase)

class MyClass
{
    //
}

Properties

camelCase

$number = 10;

$secondNumber = 20;

Files

File name (img, js, css etc.): Lowercase and hyphen between two words.

filename-timestamp.jpg
my-style.css

Lines

Add a maximum of 1 line gap before: return view()

public function index()
{
    $title = "The Title"; // One line after $title

    return view('example', compact('title'));
}

Add a maximum of 1 line gap between two functions.

public function fun1()
{
    //
}

public function fun2()
{
   //
}

Function

Function comment with arguments and return types:

/**
 * This is a comment
 * @param Request $request
 * @return \Symfony\Component\HttpFoundation\BinaryFileResponse
 */
public function index(Request $request)
{
	//
}

Todo

/**
 * TODO: Needs improvement here
 */
public function index(Request $request)
{
	//
}

Error Handling

Try catch:

public function generateToken()
{
    try {
        // API call
    } catch (\Exception $ex) {
        Log::error('Indentifier', [
            'class' => __CLASS__,
            'function' => __FUNCTION__,
            'message' => $ex->getMessage(),
        ]);

        return response()->json([
            'success' => false,
            'message' => $ex->getMessage()
        ]);
    }
}

Cache Name

$cacheName = cache("product:{$id}");
$cacheName = cache("productTranslate:{$id}");

Database

DB Transaction: multiple tables, long task

DB::beginTransaction();

try {
    DB::insert(...);
    DB::insert(...);
    DB::insert(...);

    DB::commit(); // All good
} catch (\Exception $e) {
    DB::rollback();
		// Log
		Log::error('ActionName', [
		    'class' => __CLASS__,
		    'function' => __FUNCTION__,
		    'message' => $ex->getMessage(),
		]);
}

HTTP Header

Case-insensitive header field names. Studly-Caps 

// Custom headers with "X-"

Http::withHeaders([
     'Authorization' =>  $accessToken,
     'Content-Type' => 'application/json' ,
     'X-Ip-Address' => '127.0.0.1' ,
])->get('https://api');

Last updated: 10 June 2024


Software Engineer | Ethical Hacker & Cybersecurity...

Md Obydullah is a software engineer and full stack developer specialist at Laravel, Django, Vue.js, Node.js, Android, Linux Server, and Ethichal Hacking.