{"id":22131,"date":"2020-08-03T20:01:58","date_gmt":"2020-08-03T20:01:58","guid":{"rendered":"http:\/\/introducing_cloudinary_s_new_laravel_sdk"},"modified":"2020-08-03T20:01:58","modified_gmt":"2020-08-03T20:01:58","slug":"introducing_cloudinary_s_new_laravel_sdk","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk","title":{"rendered":"Introducing Cloudinary\u2019s New Laravel SDK"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>Known far and wide as the \u201cPHP framework for web artisans,\u201d Laravel is a robust, expressive, and productive developer tool. In particular, it\u2019s clean, smooth, and fluent API interface greatly simplifies the process of embedding features in web apps.<\/p>\n<p>Since its release in June 2011 by Taylor Otwell, a .NET developer turned PHP programmer, Laravel has garnered massive growth in usage, accolades, and largely positive critique from developers. As of now, Laravel has earned over <a href=\"https:\/\/github.com\/laravel\/laravel\">60,000 stars on GitHub<\/a> with a total <a href=\"https:\/\/packagist.org\/packages\/laravel\/framework\/stats\">download of over 98 million<\/a>. That\u2019s a big deal!<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_700,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/laravel_stats.png\" alt=\"laravel stats\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"1400\" height=\"791\"\/><\/p>\n<p>Below are GitHub\u2019s download statistics of five popular web frameworks tailored for trendy server-side programming languages:<\/p>\n<ul>\n<li>\n<a href=\"https:\/\/github.com\/laravel\/laravel\">Laravel (PHP)<\/a>: 60,300<\/li>\n<li>\n<a href=\"https:\/\/github.com\/django\/django\">Django (Python)<\/a>: 50,700<\/li>\n<li>\n<a href=\"https:\/\/github.com\/expressjs\/express\">Express (Node.js)<\/a>: 49,400<\/li>\n<li>\n<a href=\"https:\/\/github.com\/rails\/rails\">Rails (Ruby)<\/a>: 46,000<\/li>\n<li>\n<a href=\"https:\/\/github.com\/spring-projects\/spring-framework\">Spring (Java)<\/a>: 38,300<\/li>\n<\/ul>\n<p>No matter that those are vanity metrics, they undeniably illustrate the efficacy and reliability of Laravel\u2019s superior developer experience.<\/p>\n<p>This article shows the benefits and capabilities of the Laravel PHP framework and the way to upload to and transform files with Cloudinary with its new Laravel SDK. Here are the topics:<\/p>\n<ul>\n<li>\n<a href=\"#benefits\">What Benefits Does Laravel Offer?<\/a>\n<\/li>\n<li>\n<a href=\"#laravel\">What Can You Do With Laravel?<\/a>\n<\/li>\n<li>\n<a href=\"#cloudinary\">How Do You Upload and Transform Files With Laravel on Cloudinary?<\/a>\n<\/li>\n<\/ul>\n<h2 id=\"benefits\">What Benefits Does Laravel Offer?<\/h2>\n<p>As do many other web frameworks, Laravel follows the Model-View-Controller pattern but also provides a Facade pattern, which accords access to several core capabilities. All that translates to an intuitive and fast start for you as developers. You\u2019ll find yourself automatically memorizing the classes to import for various tasks.<\/p>\n<p><strong>Example:<\/strong> The facades below are interfaces for all major features, such as authentication, mail, notifications, caching, and file upload.<\/p>\n<table class=\"table table-striped table-bordered\">\n   <thead>\n      <tr>\n         <th>Facade<\/th>\n         <th>Classes<\/th>\n      <\/tr>\n   <\/thead>\n   <tbody>\n      <tr>\n         <td>App<\/th>\n         <td>Illuminate\\Support\\Facades\\App::class,<\/td>\n      <\/tr>\n         <td>Arr<\/td>\n         <td>Illuminate\\Support\\Arr::class,<\/td>\n      <\/tr>\n         <td>Artisan<\/td>\n         <td>Illuminate\\Support\\Facades\\Artisan::class,<\/td>\n      <\/tr>\n         <td>Auth<\/td>\n         <td>Illuminate\\Support\\Facades\\Auth::class,<\/td>\n      <\/tr>\n         <td>Blade<\/td>\n         <td>Illuminate\\Support\\Facades\\Blade::class,<\/td>\n      <\/tr>\n         <td>Broadcast<\/td>\n         <td>Illuminate\\Support\\Facades\\Broadcast::class,<\/td>\n      <\/tr>\n         <td>Bus<\/td>\n         <td>Illuminate\\Support\\Facades\\Bus::class,<\/td>\n      <\/tr>\n         <td>Cache<\/td>\n         <td>Illuminate\\Support\\Facades\\Cache::class,<\/td>\n      <\/tr>\n         <td>Config<\/td>\n         <td>Illuminate\\Support\\Facades\\Config::class,<\/td>\n      <\/tr>\n         <td>Cookie<\/td>\n         <td>Illuminate\\Support\\Facades\\Cookie::class,<\/td>\n      <\/tr>\n          <td>Crypt<\/td>\n         <td>Illuminate\\Support\\Facades\\Crypt::class,<\/td>\n      <\/tr>\n          <td>DB<\/td>\n         <td>Illuminate\\Support\\Facades\\DB::class,<\/td>\n      <\/tr>\n          <td>Eloquent<\/td>\n         <td>Illuminate\\Database\\Eloquent\\Model::class,<\/td>\n      <\/tr>\n          <td>Event<\/td>\n         <td>Illuminate\\Support\\Facades\\Event::class,<\/td>\n      <\/tr>\n           <\/tbody>\n<\/table>\n<p>Here are <a href=\"https:\/\/laravel.com\/docs\/7.x\/facades#facade-class-reference\">more details<\/a>.<\/p>\n<p>Laravel makes available through abstraction the many similar building blocks required by web apps, freeing up developers to focus on business logic. Impressively, almost everything in Laravel is preconfigured out of the box.<\/p>\n<h3>Built-In Authentication and Authorization<\/h3>\n<p>Laravel offers authentication and authorization capabilities. To configure authentication for your app while installing Laravel, type:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\">laravel <span class=\"hljs-keyword\">new<\/span> app --auth\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>That command line readies all the scaffolding you need for authentication to work. You can then customize it as desired by following the <a href=\"https:\/\/laravel.com\/docs\/7.x\/authentication#introduction\">procedures in the documentation<\/a>.<\/p>\n<h3>Caching<\/h3>\n<p>You must have tackled caching logic and strategies, headaches both, multiple times. The twists and turns involved in bursting caches and setting up the right storage are constant challenges.<\/p>\n<p>Laravel comes with a caching capability along with drivers and integrations for Redis, Memcached, database, files, etc. Simply opt in and out of the drivers you would like to use from the environment file. Additionally, you can leverage the <a href=\"https:\/\/laravel.com\/docs\/7.x\/cache\">Cache facade and helper function<\/a> for caching apps in your code base.<\/p>\n<h3>Blade Templating Engine<\/h3>\n<p><a href=\"https:\/\/laravel.com\/docs\/7.x\/blade#introduction\">Blade, an unobtrusive templating engine<\/a>, is available in Laravel. To fully take advantage of that engine, ensure that your view files end with the <code>.blade.php<\/code> extension.<\/p>\n<p>You can write plain PHP code along with the default Blade syntax and components. Plus, caching is guaranteed with Blade, ensuring fast views for Laravel apps. Here\u2019s an example of a Blade view:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml shcb-wrap-lines\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">body<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"flex-center position-ref full-height\"<\/span>&gt;<\/span>\n            @if (Route::has('login'))\n                <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"top-right links\"<\/span>&gt;<\/span>\n                    @auth\n                        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">a<\/span> <span class=\"hljs-attr\">href<\/span>=<span class=\"hljs-string\">\"{{ url('\/home') }}\"<\/span>&gt;<\/span>Home<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">a<\/span>&gt;<\/span>\n                    @else\n                        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">a<\/span> <span class=\"hljs-attr\">href<\/span>=<span class=\"hljs-string\">\"{{ route('login') }}\"<\/span>&gt;<\/span>Login<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">a<\/span>&gt;<\/span>\n\n                        @if (Route::has('register'))\n                            <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">a<\/span> <span class=\"hljs-attr\">href<\/span>=<span class=\"hljs-string\">\"{{ route('register') }}\"<\/span>&gt;<\/span>Register<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">a<\/span>&gt;<\/span>\n                        @endif\n                    @endauth\n                <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n            @endif\n\n            <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"content\"<\/span>&gt;<\/span>\n                <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"title m-b-md\"<\/span>&gt;<\/span>\n                    Laravel\n                <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n            <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">body<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<h3>Jobs and  Queues<\/h3>\n<p>Building jobs and queues are a chore for novice developers. Even experienced programmers find those tasks laborious, let alone that the tasks might not work as expected. However, jobs can fail and, when they do, you must know when, how, and why, and ensure that they automatically retry.<\/p>\n<p>The effective integration of jobs and queues in Laravel follows the <em>convention over configuration<\/em> paradigm. Just be sure to set up your workers and crontab files on the hosting platform. If you can\u2019t do that, Laravel\u2019s premier <a href=\"https:\/\/forge.laravel.com\/\">Forge hosting platform<\/a> does it for you by default.<\/p>\n<p>Forge, which currently hosts and manages over 330,000 web apps, is proven to be trustworthy and effective.<\/p>\n<h3>Eloquent Object-Relational Mapping (ORM)<\/h3>\n<p>Over 80 percent of  web apps interact with a database, which requires SQL code for adding, updating, fetching, and deleting data from there. As web apps grow in size and complexity, so does the difficulty of writing and maintaining queries\u2014exponentially. That means you must learn the multitude of SQL functions and query operations, which is hardly something to relish.<\/p>\n<p>No need to do that with Laravel, however, which liberates you to work on tasks like business logic. Laravel\u2019s <a href=\"https:\/\/laravel.com\/docs\/7.x\/eloquent\">built-in Eloquent ORM<\/a> abstracts SQL away with reusable classes, functions, and relationship mechanisms\u2014all the tools you need for performing intricate queries in your app.<\/p>\n<h3>Well-Established and Cohesive Developer Community<\/h3>\n<p>To me, Laravel\u2019s developer community is the best out there, always helpful and supportive of other members. Below are the learning resources and packages Laravel\u2019s developer community has built over the years.<\/p>\n<ul>\n<li>\n<strong><a href=\"https:\/\/laracasts.com\/\">Laracasts<\/a><\/strong>, a website that teaches you everything about Laravel.<\/li>\n<li>\n<strong><a href=\"https:\/\/laravel.io\/\">Laravel IO<\/a><\/strong>, a community portal for problem solving and knowledge sharing among Laravel enthusiasts.<\/li>\n<li>\n<strong><a href=\"https:\/\/laraveldaily.com\/\">Laravel Daily<\/a><\/strong>, a website in which myriad tips and tricks are shared.<\/li>\n<li>\n<strong>Packages and tools<\/strong> for integrating remarkable features outside the Laravel core into web apps. Popular examples are <a href=\"https:\/\/github.com\/GrahamCampbell\">Graham Campbell<\/a>, <a href=\"https:\/\/github.com\/spatie\">Spatie<\/a>, <a href=\"https:\/\/github.com\/beyondcode\">Beyondcode<\/a>, <a href=\"https:\/\/github.com\/beyondcode\">Jeffrey Way<\/a>, and Taylor Otwell.<\/li>\n<\/ul>\n<h2 id=\"laravel\">What Can You Do With Laravel?<\/h2>\n<p>You can build all web apps with Laravel: from one-page sites to content management systems (CMS) to forums, to e-commerce stores. Go to <a href=\"https:\/\/madewithlaravel.com\/\">made with Laravel<\/a> for a host of examples of apps and websites developed with Laravel.<\/p>\n<p>The article <a href=\"https:\/\/vegibit.com\/25-popular-applications-built-with-laravel\/\">Twenty-Five Popular Applications Built With Laravel<\/a> is another informative reference.<\/p>\n<h2 id=\"cloudinary\">How Do You Upload and Transform Files With Laravel on Cloudinary?<\/h2>\n<p>Laravel\u2019s file system leverages the useful <a href=\"https:\/\/github.com\/thephpleague\/flysystem\">PHP Flysystem <\/a> on GitHub along with an Amazon S3 and a local file-driver storage. Many Laravel developers have built drivers for external storage services.<\/p>\n<p>With the newly released <a href=\"https:\/\/github.com\/cloudinary-labs\/cloudinary-laravel\">Laravel SDK from Cloudinary<\/a>, you can efficiently upload, manipulate, optimize, and deliver files. For example, to upload and transform media files, code like this:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-wrap-lines\"> <span class=\"hljs-comment\">\/\/ Store the image on Cloudinary and return the secure URL<\/span>\n  request-&gt;file(<span class=\"hljs-string\">'image'<\/span>)-&gt;storeOnCloudinary()-&gt;getSecurePath();\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p><em>Upload Files<\/em><\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-wrap-lines\"><span class=\"hljs-comment\">\/\/ Store the uploaded file in the \"alarmanda\" directory on Cloudinary<\/span>\n $request-&gt;file(<span class=\"hljs-string\">'image'<\/span>)-&gt;store(<span class=\"hljs-string\">'alarmanda'<\/span>, <span class=\"hljs-string\">'cloudinary'<\/span>);\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p><em>Upload Files to a Specific Directory<\/em><\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-wrap-lines\">cloudinary()-&gt;upload(\n                $request-&gt;file(<span class=\"hljs-string\">'image'<\/span>)-&gt;getRealPath(), &#91;\n                <span class=\"hljs-string\">'transformation'<\/span> =&gt; &#91;\n                    <span class=\"hljs-string\">'gravity'<\/span> =&gt; <span class=\"hljs-string\">'auto'<\/span>,\n                    <span class=\"hljs-string\">'width'<\/span> =&gt; <span class=\"hljs-number\">300<\/span>,\n                    <span class=\"hljs-string\">'height'<\/span> =&gt; <span class=\"hljs-number\">300<\/span>,\n                    <span class=\"hljs-string\">'crop'<\/span> =&gt; <span class=\"hljs-string\">'crop'<\/span>\n                ]\n        ])-&gt;getSecurePath();\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p><em>Upload and Transform a File Simultaneously<\/em><\/p>\n<p>You can perform numerous other tasks with <a href=\"https:\/\/github.com\/cloudinary-labs\/cloudinary-laravel\">Cloudinary\u2019s Laravel SDK<\/a>: retrieving and displaying media in your app, attaching media to existing models, interacting with files on the console. Furthermore, the SDK contains helpful Blade UI components, ready for deployment.<\/p>\n<h2>Want to Learn More About Laravel?<\/h2>\n<ul>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk\">Introducing Cloudinary\u2019s New Laravel SDK<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/laravel_file_upload_to_a_local_server_or_to_the_cloud\">Laravel File Upload to a Local Server Or to the Cloud<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/compressing_resizing_and_optimizing_images_in_laravel\">Compressing, Resizing, and Optimizing Images in Laravel<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/associating_media_files_with_laravel_s_eloquent_models\">Associating Media Files With Laravel\u2019s Eloquent Models<\/a>\n<\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":22132,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[25,263,303],"class_list":["post-22131","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-asset-management","tag-sdk","tag-video"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Introducing Cloudinary\u2019s New Laravel SDK<\/title>\n<meta name=\"description\" content=\"Discover the benefits and capabilities of the Laravel PHP framework and the way to upload to and transform files with Cloudinary with its new Laravel SDK.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing Cloudinary\u2019s New Laravel SDK\" \/>\n<meta property=\"og:description\" content=\"Discover the benefits and capabilities of the Laravel PHP framework and the way to upload to and transform files with Cloudinary with its new Laravel SDK.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-03T20:01:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718644\/Web_Assets\/blog\/Laravel-SDK_221328fd8c\/Laravel-SDK_221328fd8c.png?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"1540\" \/>\n\t<meta property=\"og:image:height\" content=\"847\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Introducing Cloudinary\u2019s New Laravel SDK\",\"datePublished\":\"2020-08-03T20:01:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk\"},\"wordCount\":6,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718644\/Web_Assets\/blog\/Laravel-SDK_221328fd8c\/Laravel-SDK_221328fd8c.png?_i=AA\",\"keywords\":[\"Asset Management\",\"SDK\",\"Video\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2020\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk\",\"url\":\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk\",\"name\":\"Introducing Cloudinary\u2019s New Laravel SDK\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718644\/Web_Assets\/blog\/Laravel-SDK_221328fd8c\/Laravel-SDK_221328fd8c.png?_i=AA\",\"datePublished\":\"2020-08-03T20:01:58+00:00\",\"description\":\"Discover the benefits and capabilities of the Laravel PHP framework and the way to upload to and transform files with Cloudinary with its new Laravel SDK.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718644\/Web_Assets\/blog\/Laravel-SDK_221328fd8c\/Laravel-SDK_221328fd8c.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718644\/Web_Assets\/blog\/Laravel-SDK_221328fd8c\/Laravel-SDK_221328fd8c.png?_i=AA\",\"width\":1540,\"height\":847},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing Cloudinary\u2019s New Laravel SDK\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introducing Cloudinary\u2019s New Laravel SDK","description":"Discover the benefits and capabilities of the Laravel PHP framework and the way to upload to and transform files with Cloudinary with its new Laravel SDK.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk","og_locale":"en_US","og_type":"article","og_title":"Introducing Cloudinary\u2019s New Laravel SDK","og_description":"Discover the benefits and capabilities of the Laravel PHP framework and the way to upload to and transform files with Cloudinary with its new Laravel SDK.","og_url":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk","og_site_name":"Cloudinary Blog","article_published_time":"2020-08-03T20:01:58+00:00","og_image":[{"width":1540,"height":847,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718644\/Web_Assets\/blog\/Laravel-SDK_221328fd8c\/Laravel-SDK_221328fd8c.png?_i=AA","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk"},"author":{"name":"","@id":""},"headline":"Introducing Cloudinary\u2019s New Laravel SDK","datePublished":"2020-08-03T20:01:58+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk"},"wordCount":6,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718644\/Web_Assets\/blog\/Laravel-SDK_221328fd8c\/Laravel-SDK_221328fd8c.png?_i=AA","keywords":["Asset Management","SDK","Video"],"inLanguage":"en-US","copyrightYear":"2020","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk","url":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk","name":"Introducing Cloudinary\u2019s New Laravel SDK","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718644\/Web_Assets\/blog\/Laravel-SDK_221328fd8c\/Laravel-SDK_221328fd8c.png?_i=AA","datePublished":"2020-08-03T20:01:58+00:00","description":"Discover the benefits and capabilities of the Laravel PHP framework and the way to upload to and transform files with Cloudinary with its new Laravel SDK.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718644\/Web_Assets\/blog\/Laravel-SDK_221328fd8c\/Laravel-SDK_221328fd8c.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718644\/Web_Assets\/blog\/Laravel-SDK_221328fd8c\/Laravel-SDK_221328fd8c.png?_i=AA","width":1540,"height":847},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_new_laravel_sdk#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing Cloudinary\u2019s New Laravel SDK"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718644\/Web_Assets\/blog\/Laravel-SDK_221328fd8c\/Laravel-SDK_221328fd8c.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=22131"}],"version-history":[{"count":0,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22131\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/22132"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=22131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=22131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=22131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}