Reference
- https://github.com/felixfbecker/vscode-php-intellisense
Reference
You need to get “composer” first
#-> composer create-project –prefer-dist laravel/laravel:^7.0 blog
Laravel has “artisan” file at Root directory.
#-> php artisan key:generate “PHP artisani kosturur, -arguments i pass edersin. ”
web :80/laravel/blog/public/
# -> Routes Located : project/routes/web.php
1 2 3 |
Route::get('/', function () { return view('welcome'); }); |
#-> views Located : project/resources/views/welcome.blade.php
# -> Middleware : Between Request – And Response Filter (Config Stored at project/Http/Kernel.php)
1 |
php artisan make:middleware AgeMiddleware |
1 2 3 4 5 6 7 8 |
namespace App\Http\Middleware; use Closure; class AgeMiddleware { public function handle($request, Closure $next) { return $next($request); } } |
1 2 3 4 5 6 7 8 9 |
namespace App\Http\Middleware; use Closure; class RoleMiddleware { public function handle($request, Closure $next, $role) { echo "Role: ".$role; !!!<<<<<<<<<<<<<< return $next($request); } } |
1 2 3 4 |
Route::get('role',[ 'middleware' => 'Role:editor', <<< !! Role : -> editor 'uses' => 'TestController@index', <<<< !!!!!!! Classs -> function ]); |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class TestController extends Controller { public function index() { echo "<br>Test Controller."; } } |
Another Route
1 2 3 4 |
Route::get('terminate',[ 'middleware' => 'terminate', 'uses' => 'ABCController@index', ]); |
1 2 3 4 5 6 7 8 9 10 11 |
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class ABCController extends Controller { public function index() { echo "<br>ABC Controller."; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
namespace App\Http\Middleware; use Closure; class TerminateMiddleware { public function handle($request, Closure $next) { echo "Executing statements of handle method of TerminateMiddleware."; return $next($request); } public function terminate($request, $response) { echo "<br>Executing statements of terminate method of TerminateMiddleware."; } } |
#-> Changing Default NameSpace
1 |
php artisan app:name SocialNet |
#-> Controller
1 |
php artisan make:controller <controller-name> --plain |
1 |
Route::get(‘base URI’,’controller@method’); |
1 2 3 4 5 6 7 8 9 |
namespace App\Http\Middleware; use Closure; class SecondMiddleware { public function handle($request, Closure $next) { echo '<br>Second Middleware'; return $next($request); } } |
Consstruct
1 2 3 |
public function __construct() { $this->middleware('auth'); } |
Controller Calls Middleware
1 2 3 4 |
UserController extends Controller { public function __construct() { $this->middleware('Second'); // <<<<<<<<<<<< } |
#-> Path Route
1 |
Route::resource('my','MyController'); |
GET | /my | index | my.index |
GET | /my/create | create | my.create |
POST | /my | store | my.store |
GET | /my/{my} | show | my.show |
GET | /my/{my}/edit | edit | my.edit |
PUT/PATCH | /my/{my} | update | my.update |
DELETE | /my/{my} | destroy | my.destroy |
# You Can Assign Interface – Implicit Controller.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class ImplicitController extends Controller { private $myclass; public function __construct(\MyClass $myclass) { $this->myclass = $myclass; } public function index() { dd($this->myclass); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
class MyClass{ public $foo = 'bar'; } Route::get('/myclass','ImplicitController@index'); /// app/Http/Controllers/ImplicitController.php <?php // -------------------------------------------------- namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class ImplicitController extends Controller { public function index(\MyClass $myclass) { dd($myclass); } } |
#-> URL Checking
1 |
php artisan make:controller UriController –plain |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
class UriController extends Controller { public function index(Request $request) { // Usage of path method $path = $request->path(); echo 'Path Method: '.$path; echo '<br>'; // Usage of is method $pattern = $request->is('foo/*'); echo 'is Method: '.$pattern; echo '<br>'; // Usage of url method $url = $request->url(); echo 'URL method: '.$url; } |
1 |
Route::get('/foo/bar','UriController@index'); |
1 |
$name = $request->input('username'); |
#-> Post Registration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
// resources/views/register.php <form action = "/user/register" method = "post"> <input type = "hidden" name = "_token" value = "<?php echo csrf_token() ?>"> ------------------ php artisan make:controller UserRegistration --plain app/Http/Controllers/UserRegistration.php class UserRegistration extends Controller { public function postRegister(Request $request) { //Retrieve the name input field $name = $request->input('name'); echo 'Name: '.$name; echo '<br>'; //Retrieve the username input field $username = $request->username; echo 'Username: '.$username; echo '<br>'; //Retrieve the password input field $password = $request->password; echo 'Password: '.$password; } // --- --- --- --- --- --- --- --- --- --- --- --- --- --- Route::get('/register',function() { return view('register'); }); Route::post('/user/register', array('uses'=>'UserRegistration@postRegister')); // --- --- --- --- --- --- --- --- --- --- --- --- --- --- |
#-> Response with cookie
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
//Create a response instance $response = new Illuminate\Http\Response('Hello World'); //Call the withCookie() method with the response method $response->withCookie(cookie('name', 'value', $minutes)); //return the response return $response; // ----------------------------------------------------------- //’name’ is the name of the cookie to retrieve the value of $value = $request->cookie('name'); php artisan make:controller CookieController --plain class CookieController extends Controller { public function setCookie(Request $request) { $minutes = 1; $response = new Response('Hello World'); $response->withCookie(cookie('name', 'virat', $minutes)); return $response; } public function getCookie(Request $request) { $value = $request->cookie('name'); echo $value; } } Route::get('/cookie/set','CookieController@setCookie'); Route::get('/cookie/get','CookieController@getCookie'); |
#->
1 2 3 4 5 6 7 8 |
/// return response($content,$status) ->header('Content-Type', $type) ->header('X-Header-One', 'Header Value') ->header('X-Header-Two', 'Header Value'); Route::get('/header',function() { return response("Hello", 200)->header('Content-Type', 'text/html'); }); |
1 2 3 4 |
Route::get('/cookie',function() { return response("Hello", 200)->header('Content-Type', 'text/html') ->withcookie('name','Virat Gandhi'); }); |
1 2 3 4 5 |
app/Http/routes.php Route::get('json',function() { return response()->json(['name' => 'Virat Gandhi', 'state' => 'Gujarat']); }); |
1 2 3 |
Route::get('/test', function() { return view('test'); }); |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
resources/views/test.php <html> <body> <h1><?php echo $name; ?></h1> </body> </html> app/Http/routes.php Route::get('/test', function() { return view('test',[‘name’=>’Virat Gandhi’]); }); |
#-> ServiceProvider : Sharing data with all views.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
Route::get('/test', function() { return view('test'); }); Route::get('/test2', function() { return view('test2'); }); // resources/views/test.php & resources/views/test2.php <html> <body> <h1><?php echo $name; ?></h1> </body> </html> // // app/Providers/AppServiceProvider.php <?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { view()->share('name', 'Virat Gandhi'); } /** * Register any application services. * * @return void */ public function register() { // } } |
# -> Using Blade : new View
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
resources/views -> master.blade.php <html> <head> <title>DemoLaravel - @yield('title')</title> </head> <body> @yield('content') </body> </html> //---------- Blade @extends child.blade.php @extends('layouts.app') @section('title', 'Page Title') @section('sidebar') @parent <p>This refers to the master sidebar.</p> @endsection @section('content') <p>This is my body content.</p> @endsection |
#-> welcome . blade.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> @if (Route::has('login')) <div class="top-right links"> @auth <a href="{{ url('/home') }}">Home</a> @else <a href="{{ route('login') }}">Login</a> @if (Route::has('register')) <a href="{{ route('register') }}">Register</a> @endif @endauth </div> @endif |
#->
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
Route::get('user/profile', ['as' => 'profile', function () { // }]); //-------------------------------------------------------- resources/views/test.php. <html> <body> <h1>Example of Redirecting to Named Routes</h1> </body> </html> //-------------------------------------------------------- app/Http/routes.php Route::get('/test', ['as'=>'testing',function() { return view('test2'); }]); Route::get('redirect',function() { return redirect()->route('testing'); }); Step 3 − Visit the following URL to test the named route example. http://localhost:8000/redirect //-------------------------------------------------------- Redirecting to Controller Actions Not only named route but we can also redirect to controller actions. We need to simply pass the controller and name of the action to the action method as shown in the following example. If you want to pass a parameter, you can pass it as the second argument of the action method. return redirect()->action(‘NameOfController@methodName’,[parameters]); app/Http/Controllers/RedirectController.php. app/Http/Controllers/RedirectController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class RedirectController extends Controller { public function index() { echo "Redirecting to controller's action."; } } Step 4 − Add the following lines in app/Http/routes.php. app/Http/routes.php Route::get('rr','RedirectController@index'); Route::get('/redirectcontroller',function() { return redirect()->action('RedirectController@index'); }); |
#-> Error Logging
1 2 3 4 5 6 |
APP_DEBUG set in the environment file .env APP_DEBUG should be true but config/app.php file. 'log' => 'daily' |
#-> Forms
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
composer require illuminate/html Step 3 − Now, we need to add the package shown above to Laravel configuration file which is stored at config/app.php. Open this file and you will see a list of Laravel service providers as shown in the following image. Add HTML service provider as indicated in the outlined box in the following image. # https://www.tutorialspoint.com/laravel/laravel_forms.htm -> From .php view fiels, you can access Form Fields {{ Form::open(array('url' => 'foo/bar')) }} // echo Form::text('username'); echo Form::password('password'); {{ Form::close() }} # ------------------------------------------------------------ resources/views/form.php <html> <body> <?php echo Form::open(array('url' => 'foo/bar')); echo Form::text('username','Username'); echo '<br/>'; echo Form::text('email', 'example@gmail.com'); echo '<br/>'; echo Form::password('password'); echo '<br/>'; echo Form::checkbox('name', 'value'); echo '<br/>'; echo Form::radio('name', 'value'); echo '<br/>'; echo Form::file('image'); echo '<br/>'; echo Form::select('size', array('L' => 'Large', 'S' => 'Small')); echo '<br/>'; echo Form::submit('Click Me!'); echo Form::close(); ?> </body> </html> # ------------------------------------------------------- app/Http/routes.php Route::get('/form',function() { return view('form'); }); |
#-> Localization
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
resources/views resources/lang/en/lang.php <?php return [ 'msg' => 'Laravel Internationalization example.' ]; ?> resources/lang/fr/lang.php. <?php return [ 'msg' => 'Exemple Laravel internationalisation.' ]; ?> resources/lang/de/lang.php <?php return [ 'msg' => 'Laravel Internationalisierung Beispiel.' ]; ?> php artisan make:controller LocalizationController --plain /Http/Controllers/LocalizationController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class LocalizationController extends Controller { public function index(Request $request,$locale) { //set’s application’s locale app()->setLocale($locale); //Gets the translated message and displays it echo trans('lang.msg'); } } app/Http/routes.php Route::get('localization/{locale}','LocalizationController@index'); url:80/localization/de |
#-> Session
1 |
$value = $request->session()->get('key'); |
1 |
$request->session()->put('key', 'value'); |
1 |
$request->session()->forget('key'); |
1 |
$request->session()->forget('key'); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
php artisan make:controller SessionController --plain app/Http/Controllers/SessionController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class SessionController extends Controller { public function accessSessionData(Request $request) { if($request->session()->has('my_name')) echo $request->session()->get('my_name'); else echo 'No data in the session'; } public function storeSessionData(Request $request) { $request->session()->put('my_name','Virat Gandhi'); echo "Data has been added to session"; } public function deleteSessionData(Request $request) { $request->session()->forget('my_name'); echo "Data has been removed from session."; } } app/Http/routes.php Route::get('session/get','SessionController@accessSessionData'); Route::get('session/set','SessionController@storeSessionData'); Route::get('session/remove','SessionController@deleteSessionData'); host:8000/session/set |
#-> Validation Controller
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
/* The $errors variable will be an instance of Illuminate\Support\MessageBag. Error message can be displayed in view file by adding the code as shown below. */ @if (count($errors) > 0) <div class = "alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif php artisan make:controller ValidationController --plain app/Http/Controllers/ValidationController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class ValidationController extends Controller { public function showform() { return view('login'); } public function validateform(Request $request) { print_r($request->all()); $this->validate($request,[ 'username'=>'required|max:8', 'password'=>'required' ]); } } resources/views/login.blade.php <html> <head> <title>Login Form</title> </head> <body> @if (count($errors) > 0) <div class = "alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif <?php echo Form::open(array('url'=>'/validation')); ?> <table border = '1'> <tr> <td align = 'center' colspan = '2'>Login</td> </tr> <tr> <td>Username</td> <td><?php echo Form::text('username'); ?></td> </tr> <tr> <td>Password</td> <td><?php echo Form::password('password'); ?></td> </tr> <tr> <td align = 'center' colspan = '2' ><?php echo Form::submit('Login'); ? ></td> </tr> </table> <?php echo Form::close(); ?> </body> </html> app/Http/routes.php Route::get('/validation','ValidationController@showform'); Route::post('/validation','ValidationController@validateform'); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
Form::file('file_name'); Form::open(array('url' => '/uploadfile','files'=>'true')); resources/views/uploadfile.php <html> <body> <?php echo Form::open(array('url' => '/uploadfile','files'=>'true')); echo 'Select the file to upload.'; echo Form::file('image'); echo Form::submit('Upload File'); echo Form::close(); ?> </body> </html> php artisan make:controller UploadFileController --plain app/Http/Controllers/UploadFileController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class UploadFileController extends Controller { public function index() { return view('uploadfile'); } public function showUploadFile(Request $request) { $file = $request->file('image'); //Display File Name echo 'File Name: '.$file->getClientOriginalName(); echo '<br>'; //Display File Extension echo 'File Extension: '.$file->getClientOriginalExtension(); echo '<br>'; //Display File Real Path echo 'File Real Path: '.$file->getRealPath(); echo '<br>'; //Display File Size echo 'File Size: '.$file->getSize(); echo '<br>'; //Display File Mime Type echo 'File Mime Type: '.$file->getMimeType(); //Move Uploaded File $destinationPath = 'uploads'; $file->move($destinationPath,$file->getClientOriginalName()); } } #-> app/Http/routes.php Route::get('/uploadfile','UploadFileController@index'); Route::post('/uploadfile','UploadFileController@showUploadFile'); 8000/uploadfile |
#-> Mailer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
SwiftMailer // The following table shows the syntax and attributes of send function − void send(string|array $view, array $data, Closure|string $callback) Parameters $view(string|array) − name of the view that contains email message $data(array) − array of data to pass to view $callback − a Closure callback which receives a message instance, allowing you to customize the recipients, subject, and other aspects of the mail message Mail::send([‘text’=>’text.view’], $data, $callback); .env MAIL_DRIVER = smtp MAIL_HOST = smtp.gmail.com MAIL_PORT = 587 MAIL_USERNAME = your-gmail-username MAIL_PASSWORD = your-application-specific-password MAIL_ENCRYPTION = tls php artisan config:cache php artisan make:controller MailController --plain app/Http/Controllers/MailController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Mail; use App\Http\Requests; use App\Http\Controllers\Controller; class MailController extends Controller { public function basic_email() { $data = array('name'=>"Virat Gandhi"); Mail::send(['text'=>'mail'], $data, function($message) { $message->to('abc@gmail.com', 'Tutorials Point')->subject ('Laravel Basic Testing Mail'); $message->from('xyz@gmail.com','Virat Gandhi'); }); echo "Basic Email Sent. Check your inbox."; } public function html_email() { $data = array('name'=>"Virat Gandhi"); Mail::send('mail', $data, function($message) { $message->to('abc@gmail.com', 'Tutorials Point')->subject ('Laravel HTML Testing Mail'); $message->from('xyz@gmail.com','Virat Gandhi'); }); echo "HTML Email Sent. Check your inbox."; } public function attachment_email() { $data = array('name'=>"Virat Gandhi"); Mail::send('mail', $data, function($message) { $message->to('abc@gmail.com', 'Tutorials Point')->subject ('Laravel Testing Mail with Attachment'); $message->attach('C:\laravel-master\laravel\public\uploads\image.png'); $message->attach('C:\laravel-master\laravel\public\uploads\test.txt'); $message->from('xyz@gmail.com','Virat Gandhi'); }); echo "Email Sent with attachment. Check your inbox."; } } resources/views/mail.blade.php <h1>Hi, {{ $name }}</h1> l<p>Sending Mail from Laravel.</p> app/Http/routes.php Route::get('sendbasicemail','MailController@basic_email'); Route::get('sendhtmlemail','MailController@html_email'); Route::get('sendattachmentemail','MailController@attachment_email'); http://localhost:8000/sendbasicemail |
#-> Ajax Controller
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
resources/views/message.php <html> <head> <title>Ajax Example</title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script> <script> function getMessage() { $.ajax({ type:'POST', url:'/getmsg', data:'_token = <?php echo csrf_token() ?>', success:function(data) { $("#msg").html(data.msg); } }); } </script> </head> <body> <div id = 'msg'>This message will be replaced using Ajax. Click the button to replace the message.</div> <?php echo Form::button('Replace Message',['onClick'=>'getMessage()']); ?> </body> </html> php artisan make:controller AjaxController --plain app/Http/Controllers/AjaxController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class AjaxController extends Controller { public function index() { $msg = "This is a simple message."; return response()->json(array('msg'=> $msg), 200); } } app/Http/routes.php Route::get('ajax',function() { return view('message'); }); Route::post('/getmsg','AjaxController@index'); Cross Site Scripting(XSS) |
Reference:
Minimum Requirements to Run SQL Server 2012 Express and SQL Server Management Studio
To begin, please make sure the computer you will be using meets these minimum requirements:
These requirements satisfy the minimum specifications for SQL Server 2012 Express, SQL Server Management Studio Express and ReliaSoft desktop applications. For more details on Microsoft’s recommended minimum specifications for SQL Server 2012 Express, click here. For more details on our recommended minimum specifications for ReliaSoft applications, click here.
Microsoft SQL server is the most popular and advanced Relational Database Management System (RDBMS)
by Microsoft. It is basically a software-based product and its primary role is storage and retrieval of data as per the request of the applications on
either the same system or a system on another network.
It supports large applications with millions of users or huge databases with advanced
features and security. SQL Server is fully compatible with MS Access database.
Data can be easily imported or exported between these two.
Microsoft SQL server is widely used for e-commerce, line-of-business, and data warehousing solutions.
There are dozens of different editions or versions of Microsoft SQL server provided by
Microsoft with different feature sets and pricing options. From many of them,
we are going to discuss two editions in this article. They are Microsoft SQL Server Express edition and Microsoft SQL Server Web edition.
It is a scaled down, entry-level database option to learn and build desktop and small server
applications. It provides a number of features of the paid editions but some technical limitations
in terms of database size and the number of users make it unsuitable for large-scale installations.
Thus, it is a good choice for developers, independent software vendors (ISVs) and for those who build small client applications.
In case you need more advanced features of the database, SQL server express edition can be
upgraded to high-end versions. There are various versions of Microsoft SQL server express edition.
Here is a summary with the years in which they were released:
VERSIONS | SERVICE PACKS |
2017 | None |
2016 | SP1 |
2014 | SP1 and SP2 |
2012 | SP1, SP2 and SP3 |
2008 | R2 RTM, R2 SP1 and R2 SP2 |
2005 | SP1, SP2, SP3 and SP4 |
Features:
Limitations:
Features:
Limitations:
Important differences between MS SQL Server Express edition and Web edition
Feature name | Web edition | Express edition |
Maximum memory utilized | 64 GB | 1410 MB |
Maximum compute capacity | Limited to < 4 Sockets or 16 cores | Limited to < 1 Socket or 4 cores |
Maximum relational database size | 524 PB | 10 GB |
Feature name | Web edition | Express edition |
Distributed replay – Admin tool | Yes | No |
Distributed replay – Client | Yes | No |
Distributed replay – Controller | Yes (1 Client) | No |
SQL server agent | Yes | No |
Microsoft System Center Operations Manager Management Pack | Yes | No |
Feature name | Web edition | Express edition |
User instances | No | Yes |
Dedicated admin connection | Yes | Yes (with trace flag) |
Policy automation | Yes | No |
Performance data collector | Yes | No |
Standard performance reports | Yes | No |
PowerShell scripting support | Yes | Yes |
Direct query of indexed views | Yes | Yes |
Feature name | Web edition | Express edition |
Full-text and semantic search | Yes | No |
Basic R & Python integration | Yes | No |
JSON | Yes | Yes |
Native XML support | Yes | Yes |
Specification of language in query | Yes | No |
Transact-SQL endpoints | Yes | No |
Feature name | Web edition | Express edition |
Supported catalog database | Yes | Yes |
Supported data source | Yes | Yes |
Role-based security | Yes | Yes (with advanced services) |
Export to Excel, PowerPoint, Word, PDF & images | Yes | Yes (with advanced services) |
Report server | Yes | Yes (with advanced services) |
Report designer | Yes | Yes (with advanced services) |
There are two flavours of webservices 1) SOAP based 2) RESTful webservices.
Difference between servlets and soap based webservices: i) these webservices can’t be directly accessed through browser. ii) We need not to write webservices prototype separate, which is generating wsdl(which describes webservices using xsd), it can be published to consumers of webservices iii) soap ws are introduced to easily support SOA(Service Oriented Architecture)
Difference between servlets and restful webservices: i) Even though restful webservices directly works on http/https protocal, it provides some other web methods in addition to get, post are put, delete. Which allows to write db operation based structured code easily. ii) As restful webservices allows for pathparameters apart from query parameters, we can easily write class level and method level convenient operations-code. iii) we can use postman like browser plugins to easily check rest-api’s. We can easily add headers, body parameter, selecting different methods, content type along with request to required restful webservice under an URL. iv) we can also provide security to rest-webservices easily through header section of http request msg’s
Reference :