Home >Backend Development >PHP Tutorial >Why is Laravel the most successful PHP framework? _PHP Tutorial

Why is Laravel the most successful PHP framework? _PHP Tutorial

WBOY
WBOYOriginal
2016-07-12 09:07:371112browse

Why is Laravel the most successful PHP framework?

In 2011, Taylor Otwell introduced Laravel to everyone as a framework that includes a new and modern approach. Laravel was originally designed for the MVC architecture, which can meet various needs such as event processing and user authentication. In addition, it has a package manager powered by a management database for managing modular and extensible code.

Laravel has won widespread attention with its simplicity and elegance. Whether experts or novices, they will think of Laravel immediately when developing PHP projects. In this article we will discuss why Laravel has become the most successful PHP framework.

Modularity and scalability

Laravel focuses on code modularity and scalability. You can find any file you want to add in the Packalyst directory, which contains over 5500 packages. The goal of Laravel is to enable you to find any file you want.

Microservices and programming interfaces

Lumen is a micro-framework derived from laravel that focuses on streamlining. Its high-performance programming interface allows you to develop micro-projects more easily and quickly. Lumen integrates all the important features of laravel with minimal configuration. You can migrate the complete framework by copying the code to the laravel project.

1

2

3

4

5

6

7

8

9

10

11

<?php $app->get('/', function() {

  

   return view('lumen');

  

});

  

$app->post('framework/{id}', function($framework) {

  

   $this->dispatch(new Energy($framework));

  

});

1

2

3

4

1

2

3

4

5

Route::get('/', function () {

  

   return 'Hello World';

  

});

5 6 7 8 9 10 11
<?php $app->get('/', function() { return view('lumen'); }); $app->post('framework/{id }', function($framework) { $this->dispatch(new Energy($framework)); });
HTTP path Laravel has a fast and efficient routing system similar to Ruby on Rails. It allows users to relate parts of an application by typing paths into the browser.
1 2 3 4 5 Route::get('/', function () { return 'Hello World'; });

HTTP middleware

Applications can be protected by middleware - middleware handles the analysis and filtering of HTTP requests on the server. You can install middleware to authenticate registered users and avoid issues like cross-site scripting (XSS) or other security conditions.

1

2

3

4

5

6

7

8

9

10

11

<?php namespace AppHttpMiddleware; use Closure; class OldMiddleware { public function handle($request, Closure $next) { if ($request->input('age') <= 200) {

return redirect('home');

}

return $next($request);

}

}

1

2

3

4

1

2

3

4

5

Cache::extend('mongo', function($app) {

return Cache::repository(new MongoStore);

});

<🎜>5<🎜> <🎜>6<🎜> <🎜>7<🎜> <🎜>8<🎜> <🎜>9<🎜> <🎜>10<🎜> <🎜>11<🎜>
<🎜><?php namespace AppHttpMiddleware; < code class="php keyword">use Closure; class OldMiddleware { public function handle( $request, Closure $next) { if ($request< /code>->input('age') <= 200) { <🎜> <🎜> <🎜> <🎜> return redirect('home'); <🎜> <🎜> <🎜> <🎜> } <🎜> <🎜> <🎜> <🎜> return $next($request);<🎜> <🎜> <🎜> <🎜> }<🎜> <🎜> <🎜> <🎜> }<🎜>
<🎜><🎜>Cache<🎜><🎜> <🎜>Your application can get a robust caching system, which can be adjusted to make the application load faster, which can provide the best experience for your users. <🎜>
<🎜>1<🎜> <🎜>2<🎜> <🎜>3<🎜> <🎜>4<🎜> <🎜>5<🎜> <🎜>Cache::extend('mongo', </code ><code class="php keyword">function($app) { <🎜> <🎜> <🎜> <🎜> return Cache::repository(new MongoStore);<🎜> <🎜> <🎜> <🎜>});<🎜>

Identity Verification

Safety is paramount. Laravel comes with local user authentication and can use the "remember" option to remember users. It also allows you to set some additional parameters, such as showing whether the user is active.

1

2

3

4

5

if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1 ], $remember)) {

  

   // The user is being remembered...

  

}

1

2

3

4

1

2

3

$user = User::find(1);

  

$user->subscription('monthly')->create($creditCardToken);

5

if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1 ], $remember)) {

1

2

3

4

5

elixir(function(mix) {

  

   mix.browserify('main.js');

  

 });

// The user is being remembered... }
Type integration Laravel Cashier can meet all the needs you need to develop a payment system. In addition to this, it synchronizes and integrates user authentication systems. So, you no longer need to worry about integrating your billing system into your development.
1 2 3 $user = User::find(1); $user->subscription('monthly' code>)->create($creditCardToken);
Task Automation Elixir is a Laravel programming interface that allows us to use Gulp to define tasks. We can use Elixir to define preprocessors that can streamline CSS and JavaScript.
1 2 3 4 5 elixir(function(mix) { mix.browserify('main.js'); });

Encryption

A secure application should be able to encrypt data. Using Laravel, you can enable the OpenSSL security encryption algorithm AES-256-CBC to meet all your needs. In addition, all encrypted values ​​are signed by a verification code that detects whether the encrypted information has been changed.

1

2

3

4

5

6

7

8

9

10

11

use IlluminateContractsEncryptionDecryptException;

  

try {

  

   $decrypted = Crypt::decrypt($encryptedValue);

  

} catch (DecryptException $e) {

  

   //

  

}

1

2

3

4

5

1

2

3

4

5

6

7

8

9

protected $listen = [

  

    'AppEventsPodcastWasPurchased' => [

  

       'AppListenersEmailPurchaseConfirmation',

  

    ],

  

 ];

6 7 8 9 10 11
use IlluminateContractsEncryptionDecryptException; try { $decrypted = Crypt::decrypt( $encryptedValue); } catch (DecryptException $e) { // }
Event handling Events are quickly defined, recorded and listened to within the app. The listen in the EventServiceProvider event contains a list of all events recorded on your application.
1 2 3 4 5 6 7 8 9 protected $listen = [ 'AppEventsPodcastWasPurchased' => [ 'AppListenersEmailPurchaseConfirmation', ], ];

Pagination

Pagination in Laravel is very easy because it can generate a series of links based on the current page of the user's browser.

1

2

3

4

5

6

7

<?php namespace AppHttpControllers; use DB; use AppHttpControllersController; class UserController extends Controller { public function index() { $users = DB::table('users')->paginate(15);

  

      return view('user.index', ['users' => $users]);

  

   }

  

}

1

2

3

4

1

2

3

4

5

6

7

$users = User::where('votes', '>', 100)->take(10)->get();

  

 foreach ($users as $user) {

  

   var_dump($user->name);

  

 }

5 6 7
<?php namespace AppHttpControllers; < code class="php keyword">use DB; use AppHttpControllersController; class UserController extends < code class="php plain">Controller { public function index() { $users = DB::table('users')->paginate(15); return view('user.index', ['users' => $users]); } }
Object Relationship DiagramORM) Laravel contains a layer that handles databases, and its object relationship graph is called Eloquent. In addition, this object relationship diagram also applies to PostgreSQL.
1 2 3 4 5 6 7 $users = User::where('votes'<code class="php plain">, '>', 100)->take (10)->get(); foreach ($users as $user) { <code class="php spaces"> var_dump($user->name); }

Unit testing

The development of unit tests is a time-consuming task, but it is the key to ensuring that our applications keep working properly. You can use PHPUnit to perform unit testing in Laravel.

1

2

3

4

5

6

7

8

9

<php use IlluminateFoundationTestingWithoutMiddleware; use IlluminateFoundationTestingDatabaseTransactions; class ExampleTest extends TestCase { public function testBasicExample() { $this->visit('/')

  

                 ->see('Laravel 5')

  

                 ->dontSee('Rails');

  

      }

  

   }

1

2

3

4

1

Queue :: push ( new  SendEmail ( $ message ));

5

6

7


8
9

<php use IlluminateFoundationTestingWithoutMiddleware; use IlluminateFoundationTestingDatabaseTransactions; class ExampleTest extends TestCase { public function testBasicExample() { $this->visit('/')

->see('Laravel 5') ->dontSee('Rails' ); }
}
To-do list Laravel provides the option of using a to-do list in the background to handle complex, lengthy processes. It allows us to handle certain processes asynchronously without requiring continuous navigation from the user.
1 Queue::push ( new SendEmail ( $ message )) ;
http://www.bkjia.com/PHPjc/1059860.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1059860.htmlTechArticleWhy will Laravel become the most successful PHP framework? In 2011, Taylor Otwell introduced Laravel as a framework that included a new and modern approach. Laravel was originally designed for...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn