Create a PHP REST API : Write a RESTful API from Scratch using Plain, Object-Oriented PHP and MySQL

Поделиться
HTML-код
  • Опубликовано: 1 май 2024
  • Learn how to develop a complete, RESTful API using plain, object-oriented PHP, MySQL and best practices.
    Full API course, including authentication:
    ‣ davehollingworth.net/phpapisy
    Please consider supporting my channel:
    ☕ ko-fi.com/davehollingworth
    In this video you'll learn how to:
    • create RESTful URLs
    • list, show, create, update and delete database records using an API
    • organise your PHP code
    • use controllers and table gateways
    • return relevant HTTP status codes
    • validate data in an API
    • decode and encode requests and responses as JSON
    Code shown in the video:
    ‣ github.com/daveh/php-rest-api
    Relevant documentation:
    ‣ curl.se/
    ‣ www.postman.com/
    ‣ httpie.io/
    ‣ www.php.net/manual/en/functio...
    ‣ www.php.net/manual/en/pdo.set...
    ‣ www.php.net/manual/en/class.e...
    00:00 Introduction
    00:18 API client
    00:31 Front controller
    01:38 RESTful endpoints
    02:03 URL rewriting
    03:03 HTTPie usage
    03:28 Routing
    03:59 404 response
    04:23 Collection and resource URLs
    05:19 Controller class
    06:27 Class autoloading
    08:19 Process the request
    09:06 Collection requests
    09:55 JSON Content-type
    10:56 Create the database
    11:53 Connect to the DB
    14:08 Exception handling
    16:44 Table gateway class
    17:42 List all records
    19:52 Encode JSON values
    21:35 Insert a record
    21:55 Get request data
    27:04 201 response
    28:00 Error handling
    30:00 Data validation
    31:46 422 response
    32:28 405 response
    33:36 Resource requests
    34:43 Get a resource
    35:59 404 response
    37:02 Update a resource
    40:03 Conditional validation
    41:12 Delete a resource
    43:12 Summary
    #PHP #MySQL #REST #API
  • НаукаНаука

Комментарии • 182

  • @dave-hollingworth
    @dave-hollingworth  2 года назад +21

    Out of interest, what data are you creating an API for?

    • @efbYouTube
      @efbYouTube 2 года назад +3

      fun pet project (10 yrs in the making! 🙃) to create a user login & personal data store for a language gaming website using vanilla js (& react) on the ft end.

    • @william254
      @william254 Год назад +3

      Learning, I can create an API with a framework but wanted to learn doing it with plain PHP.

    • @williamurquhart5169
      @williamurquhart5169 Год назад +1

      Personal project about tree varieties of all things.. whilst on break from MSc. This is great precursor to your Udemy course so thanks for posting!

    • @samuelonowuko110
      @samuelonowuko110 Год назад +1

      A learning Management System. Want a flutter developer to build the mobile version using same data.

    • @rahulbansal9580
      @rahulbansal9580 Год назад +2

      For learning. Thank you, Dave, for an amazing video.

  • @zzzbyyy
    @zzzbyyy 7 месяцев назад +6

    my php back end skills are archaic ... so before I dive in any api php framework I want to learn how to do it in plain PHP ... this tutorial is a blessing for me ...

  • @manojphatak763
    @manojphatak763 4 месяца назад +7

    Quite simply: the best php tutorial I have seen so far! Thank you for your crystal clear explanations.

  • @collenzaligway4458
    @collenzaligway4458 2 года назад +18

    I love how clearly you explain things. Please keep posting videos cause its really straight forward and help me learn a lot.

  • @william254
    @william254 Год назад +8

    One of the best tutorials I've seen, including paid ones. I really appreciate it and would love to see more.

  • @GenaroDesiaCoppola
    @GenaroDesiaCoppola 10 месяцев назад +3

    hands-down one of the best coding tutorials I've seen, thank you, this helps me a lot

  • @vasurupolia9481
    @vasurupolia9481 Год назад +10

    Dude, you must be a pro! Thanks for such a detailed description. I'm actually amazed why there are so less comments and likes. You deserves a million of likes and subscribers. Subscribed!😊

  • @med3060
    @med3060 2 года назад +10

    I've been searching for such amazing lesson for so long
    thank you so much Dave .

  • @ademineshat
    @ademineshat 2 года назад +7

    Very nice and modern PHP Crash course. Absolutely awesome. Thanks 🙏

  • @muhammadsharif5526
    @muhammadsharif5526 Год назад +1

    undoubtedly, one of the best PHP API instructors... full stop... subscribed

  • @NedumEze
    @NedumEze Год назад +3

    Come on Dave, I am still feeling dizzy watching this Video. How can you be so good! Simply no daylight between you and PHP ! Am in awe.
    Thank you so much, Dave. Sorry for myself trying to understand what you have taught so very well

  • @shadrackkipkoech2075
    @shadrackkipkoech2075 Год назад +1

    The tuitorial was perfect. Very invaluable 🏆🏆🏆

  • @robertbinkowski
    @robertbinkowski Год назад +1

    This was amazing! Keep up the amazing work!

  • @NedumEze
    @NedumEze Год назад

    Stunning presentation. Wow! Dave. My jaw is on the floor!
    Thanks

  • @rodrodrigues1729
    @rodrodrigues1729 Год назад

    Best PHP RESTful API Tutorial ever. Close the other tabs and stick to this one.

  • @royschrauwen
    @royschrauwen Год назад +2

    Thank you very much for such a great tutorial!
    You explained everything very clearly, and the tutorial was easy to follow.

  • @ll18307
    @ll18307 6 месяцев назад

    This is just what I need, Thank you very much.
    I love how the topic is explained, very concise and straight forward.

  • @chieeyeoh6204
    @chieeyeoh6204 4 месяца назад +1

    I came from Node and Python. Your tutorial pace very well and the content was concise, gave me the confidence to build one API server with PHP todday.

  • @subhasismukherjee7435
    @subhasismukherjee7435 Год назад

    Excellent Tutorial. Thanks Dave.

  • @johnlabuci96
    @johnlabuci96 4 месяца назад

    you're very good dave, you teach and introduce us to the new term like table gateway pattern and many more along the tutorial.. kudos

  • @khari_baat
    @khari_baat Год назад +1

    Thank you creating this wonderful video. You have helped a lot of people.

  • @julianharder1354
    @julianharder1354 5 месяцев назад +1

    This was very helpful, thank you!

  • @Kolkrabe1303
    @Kolkrabe1303 Год назад +1

    Great Tutorial, thank you very much for your time and effort!

  • @Aalii6
    @Aalii6 Год назад +1

    very clear explanation, thank you!

  • @dagore94
    @dagore94 Год назад +2

    Really good video, just the one I needed.

  • @6962943
    @6962943 12 дней назад

    YOU ARE AWESOME! I now have a better understanding of APIs in PHP

  • @andersonbandeirabbbandeira1341
    @andersonbandeirabbbandeira1341 3 месяца назад

    Thank you so much! Greetings from Brazil!

  • @jayk4272
    @jayk4272 2 дня назад +1

    thanks a lot! this is exactly what I was looking for, you explained everything really well, now I can go ahead and make my project

  • @thiagomoretioficial
    @thiagomoretioficial 8 месяцев назад +1

    You're really the best! Thank you so much

  • @efbYouTube
    @efbYouTube 2 года назад +1

    thats it! i'm officially done w/ .net 😁 many txs dave!!!!!

  • @anantverma01
    @anantverma01 Год назад

    This is gold... thank you so much

  • @heshamabuzaid4293
    @heshamabuzaid4293 Год назад +1

    Thanks a lot, it was very clear.

  • @ebumumin
    @ebumumin 6 месяцев назад

    Thanks man, so educative and clear. I am developing my first API at the middle of this video 😁

  • @emperoroftheearth3215
    @emperoroftheearth3215 Год назад

    Thanks.. that was very useful.. and i aslo liked your teaching style, its wonderful.. thanks again.

  • @keyvanakbarzadeh
    @keyvanakbarzadeh 8 месяцев назад

    Perfection i learned alott thank you❤

  • @rodrigoms8464
    @rodrigoms8464 Год назад

    excelent explication video, thanks from mexico!

  • @chimdykekamsi
    @chimdykekamsi 10 месяцев назад

    Great lesson, I don't normally comment but this deserves it. Thanks 📌📌📌📌📌📌✔✔✔✔✔✔👍👍

  • @techatival
    @techatival 5 месяцев назад

    You are a great teacher!

  • @yousef3464
    @yousef3464 7 месяцев назад +1

    fruitful tutorial, you are amazing

  • @NoahNobody
    @NoahNobody Год назад +2

    I've started working with htmx recently and like that I don't have to work with json for the most part :)
    Still, this is a nice tutorial to set up a basic system to receive requests.

  • @laszlogyor6628
    @laszlogyor6628 11 месяцев назад

    Excellent video, thank you.

  • @craigc5879
    @craigc5879 2 года назад

    Absolutely awesome

  • @user-ct7sz6wj5m
    @user-ct7sz6wj5m Месяц назад +1

    Thank you so much

  • @YoussefJassim
    @YoussefJassim Год назад

    Thank you ! Awesome

  • @ramsesramos2192
    @ramsesramos2192 Год назад

    HI Dave, this video is the best restapi creation on RUclips, please do a video to secure the restapi with tokens or using jwt etc please please 🙏

  • @darkprogrammer9760
    @darkprogrammer9760 3 месяца назад

    Thank you very much for the Great Explained Video. If you can, please make another one by explaining how to upload an image / Document using the API

  • @ilya_123__
    @ilya_123__ 9 месяцев назад

    thank you

  • @alalyrealestate1136
    @alalyrealestate1136 6 месяцев назад +1

    Great as ever.. May you make a tutorial about htaccess and apache server

  • @stefanoprea6801
    @stefanoprea6801 2 месяца назад

    very cool vide, thanks!

  • @manmoncang
    @manmoncang 5 месяцев назад +1

    Tq. i want to be expert at Back End as no problem at Front End. Already subscribe your modul at udemy. tq

  • @davidef.982
    @davidef.982 Год назад

    Great one ! Thanks a lot
    By the way, Ibought the course on Udemy !
    ... it definitively worth the money !

  • @Borma425
    @Borma425 Год назад +1

    Wow Thanks

  • @satishnotiyal3939
    @satishnotiyal3939 Год назад +1

    Great

  • @Uchihaze
    @Uchihaze Год назад

    Thanks alot for your tutorial! I have a few questions. Before even creating the database in PHPmyAdmin, my HTTPie always returns ‘404 not found’ The only files i have are index.php, .htaccess and ProductController.php in a seperate src folder & when i try to create the database in PHPmyAdmin it will not create the table. I copied your code from github and do not understand what i’m doing wrong here or how to fix it.

  • @williameduardo7020
    @williameduardo7020 7 месяцев назад

    This is great content. How do you secure it?

    • @dave-hollingworth
      @dave-hollingworth  7 месяцев назад

      Using an API key is a common way (covered on the course linked to in the description)

  • @warka9494
    @warka9494 Год назад +2

    Awesome and nicely explained tutorial, thanks Dave. by any chance can you add Authentication to this tutorial ?

  • @hamzalaabidi9448
    @hamzalaabidi9448 2 месяца назад

    Good tutorial,
    I have a question if i want to add another another model for example user so i have to create another controller and gateway for it even configure the route
    Can you suggest a good architecture for it ?

    • @dave-hollingworth
      @dave-hollingworth  2 месяца назад

      I suggest using something like Slim - there's a full video on it here: ruclips.net/video/PHZtujcTRPk/видео.html

  • @lukanikolic3827
    @lukanikolic3827 5 месяцев назад

    Can someone help:
    I got this error when I want to post data form React fornt to PHP back:
    response to preflight request doesn't pass access control check it does not have http ok status

  • @MahdiMGH
    @MahdiMGH 2 года назад

    Hi Dave.
    Do you have any course about basics of this toturial? I can't undestand this toturial.
    I have also learned your two MVC courses on Udemy.

    • @dave-hollingworth
      @dave-hollingworth  2 года назад +1

      Yes, there's a link at the top of the description, thank you for your interest!

  • @erenozdemir7914
    @erenozdemir7914 Год назад

    The course is very useful. Thanks a lot. I have a question. If we want to create another controller, such as categories. I could not understand how we should follow the actions in Index.php. Can you show a sample code snippet to create another controller?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      You'd have to create the controller class (and the gateway class if necessary) based on the URL segment, in the $parts[1] variable. A simple if-else statement would do the trick. You'd also have to modify the check for displaying a 404 status based on the URL to include another string.

  • @sqdtnz
    @sqdtnz Год назад +1

    Very well explained. The only thing I got a little confused with was the switch case of POST/GET, and then also PATCH and DELETE, between processResourceRequest and processCollectionRequest. These are custom request methods? I guess I have missed something...

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      These are custom methods, yes. Basically the switch chooses which one to run based on the HTTP request method.

    • @sqdtnz
      @sqdtnz Год назад +1

      @@dave-hollingworth I have figured it out, watched it all over. This was a great tutorial, I have learned a lot in just one day. Thank you.

  • @HamiltonTenoriodaSilva
    @HamiltonTenoriodaSilva Год назад +1

    Thanks for this brilliant class! One question: why am I getting an error when I define
    array | false
    in this point: public function getUsuario(string $id): array | false
    ?
    I receive this message: syntax error, unexpected '|', expecting ';' or '{' in...
    Is there any special environment to run this way?

    • @dave-hollingworth
      @dave-hollingworth  Год назад +1

      That's a union type, which was introduced in PHP 8 - if you're getting an error, then you're using a version earlier than that. You can either upgrade to PHP 8, or remove those return type declarations.

  • @ambroiseadanledji6158
    @ambroiseadanledji6158 Год назад

    Thank you Dave for this tutorial. How can I make a route for another table. Let say user for example. Thank

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      You can just create more scripts that are similar to the ones in the tutorial but for a different table, e.g. create_user.php etc.

  • @beticohernandez9536
    @beticohernandez9536 Год назад +1

    Iras a terminar el proyecto?

  • @amon-fanticelli1995
    @amon-fanticelli1995 Год назад

    those php code you wrote, are still usable nowadays or are they obsolete? nice class by the way, im a javascript/node dev, and im trying to learn php, your videos are the best i have seen so far

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Thank you for your kind words! Yes, the code is still current and not obsolete

    • @pau1phi11ips
      @pau1phi11ips 6 месяцев назад +1

      It's rare for old PHP to not work in the latest version. Backwards compatibility is generally very good.

  • @Mescudi94
    @Mescudi94 Год назад +1

    Sorry again, Could I ask you which request software you are using in this video please ? Thank you very much, this tutorial is so well realized !

  • @FrankGP.PHP.Development
    @FrankGP.PHP.Development 11 месяцев назад

    thank

  • @beticohernandez9536
    @beticohernandez9536 Год назад

    Que bueno.

  • @NedumEze
    @NedumEze Год назад

    Hi, Dave, could you consider helping with the expanded .htaccess rules?
    Secondly, could you extend this Video to add the making of a Mobile App using PHP for Server Side scripts?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Of course, what do you want to do with the .htaccess file?

  • @idanportal8696
    @idanportal8696 Год назад

    Hi and thank you so much for this!
    I have one question though. I keep getting this error when trying to connect to the DB:
    "syntax error, unexpected 'private' (T_PRIVATE), expecting variable (T_VARIABLE)". Can't seem to find the issue.
    Do you have any idea what can it be?

    • @JCSkevin
      @JCSkevin 11 месяцев назад

      Me too, did anyone else get and solve this?

    • @dave-hollingworth
      @dave-hollingworth  11 месяцев назад

      Don't know why I didn't see this message earlier - what line of code is causing the error?

    • @JCSkevin
      @JCSkevin 11 месяцев назад

      @@dave-hollingworth Found the problem: If you declare a __construct function with private parameters, you get the error, so the example would be in the declaration of the Database class. The reason is that this feature of allowing private parameters was only introduced in PHP v8. So anything less than this will generate the error. Now that I know this, I used the following to get the same result.
      PHP < v8
      private string $host;
      private string $name;
      private string $user;
      private string $password;
      public function __construct( string $akahost,
      string $akaname,
      string $akauser,
      string $akapassword)
      {
      $this->host=$akahost;
      $this->name=$akaname;
      $this->user=$akauser;
      $this->password=$akapassword;
      }
      PHP > v8
      public function __construct(private string $host,
      private string $name,
      private string $user,
      private string $password)
      {}

  • @PickleADC
    @PickleADC Год назад +1

    very good tutorial about rest api. is there any way to provide the rewrite rules for nginx ?

    • @dave-hollingworth
      @dave-hollingworth  Год назад +1

      You could try something like this: winginx.com/en/htaccess

  • @samuelonowuko110
    @samuelonowuko110 Год назад

    Why did you choose to work in the htdocs folder directly, rather than a folder in the htdocs folder?

  • @BeastFish22
    @BeastFish22 Год назад

    In the getConnection method why do always create a new instance of a PDO?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      To connect to the database - if you're calling the getConnection method more than once in a single request, then you could modify it to always return the same object

  • @InspirationBroadcast
    @InspirationBroadcast 2 года назад +3

    Please can you make a tutorial on the Twitter API using core PHP?

    • @dave-hollingworth
      @dave-hollingworth  2 года назад

      Ok will add it to my list! Thank you for the suggestion :-)

  • @ll18307
    @ll18307 6 месяцев назад

    Hello Dave, 23:
    Do you know why I keep getting response 403 Forbidden when I type this /products name="A new product"
    Thank you

    • @dave-hollingworth
      @dave-hollingworth  6 месяцев назад

      What are you using to make the request? (e.g. HTTPie, cURL)

    • @ll18307
      @ll18307 6 месяцев назад

      @@dave-hollingworth I am using httpie desktop app

    • @ll18307
      @ll18307 6 месяцев назад

      @@dave-hollingworth hi, it appears that I can't put the inputs in the URL, except for the id. all other fields have to be put in the body in json instead of putting it in the url.

    • @dave-hollingworth
      @dave-hollingworth  6 месяцев назад

      Not sure why that's happening without being able to reproduce it, but if that works for you, no problem

  • @rhtservicestech
    @rhtservicestech Год назад

    I am attempting to replicate what you have done here. However the mod_rewrite is not working with the .htaccess file. I have confirmed that it is turned on in Apache using a2enmod on Linux. Any suggestions on how I can fix this ?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      If you can't get mod_rewrite to work, you could just have the URL as localhost/products.php instead, without rewriting the URL

    • @rhtservicestech
      @rhtservicestech Год назад

      @@dave-hollingworth I am using Apache. I did figure it out. The AllowOverride directive was set to None. When configured in this manner, htaccess is useless as Apache ignores it. Had to change it to All and then the htaccess file was recognized

  • @rodrigoms8464
    @rodrigoms8464 Год назад

    how do you add another route, like clients routes??

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      The check for the URL segment is to demonstrate returning a 404 response - to add other routes, you would change this check to include others; or if you have a lot of resources, consider using a router component or something like Slim

  • @TITAN-sv5eg
    @TITAN-sv5eg Год назад

    Dave Hollingworth can you gve me the tutoria api corse for free? i cant buy it

  • @johnlabuci96
    @johnlabuci96 4 месяца назад

    dave, on minute 22:22 i try the post request products name="new product" but the page return forbidden.. i change it to products name='new product' and now it return 404 not found.. is there any place that i need to check or any setting that i need to change? thanks

    • @dave-hollingworth
      @dave-hollingworth  4 месяца назад

      Are you running the code in a subfolder? If so you need to take this into account when parsing the URL for its segments

    • @johnlabuci96
      @johnlabuci96 4 месяца назад

      @@dave-hollingworth im using laragon and my folder structure like this dave.. www/someFolder/testApi.php

    • @johnlabuci96
      @johnlabuci96 Месяц назад +1

      ​@@dave-hollingworthi completed my project by following your tutorial.. thanks man

  • @hellotech278
    @hellotech278 Год назад +1

    😍😍😍😍

  • @DMKano87
    @DMKano87 Год назад

    Unfortunately I got lost somewhere in the middle. I will finish this tutorial, but at the moment it's too complicated for me ;)

  • @lucasferreira8229
    @lucasferreira8229 Год назад

    what is the difference when using core/plain PHP and Laravel to create APIs?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Laravel does a lot for you, with plain PHP you have to do it all yourself. Plain PHP is simpler though and uses less resources, but Laravel is probably faster to develop once you know the framework, so it's up to you which one you use

  • @mongodb5166
    @mongodb5166 Год назад

    Is there a diff between using httpie desktop and terminal? Im using desktop version and if i try to make a POST i all time get 403 response "Forbidden
    You don't have permission to access this resource." GET Works fine but POST wont work at all.. after 2 hours trying to fix i have no clue why it won't work :/

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      There shouldn't be a difference as far as the code on the server is concerned, no - where is the 403 error coming from, your code or is the server generating it? It could be a permissions problem if you have the script in another folder

    • @fitrylol6716
      @fitrylol6716 8 месяцев назад

      I have similar issue right now 403 forbidden, GET work fine, have resolved the issue? if yes ,how?

  • @Mescudi94
    @Mescudi94 Год назад

    hello, I don't get it... How did you manage to send body POST request trough URL without any function created ? It don't work when I type "localhost/product "a new product" ! 🤨

    • @dave-hollingworth
      @dave-hollingworth  Год назад +1

      In what way doesn't it work? Try comparing your code to the code in the video, there's a link in the description

    • @Mescudi94
      @Mescudi94 Год назад +1

      @@dave-hollingworth Sorry Dave, I'm new to API. And in fact, in the video, I thought at first that when you were typing into the console your POST request , that you were typing it through a navigator URL like a $_GET, but now I 've understood :)

  • @DavidShaw-dc4re
    @DavidShaw-dc4re 11 месяцев назад

    At @22:20 I am using HTTPie web app to do the testing and when I ran POST webserver/products name="xxx" it get a 404 status response.
    ...
    $parts = explode("/", $_SERVER['REQUEST_URI']);
    if ($parts[1] != "products") {
    http_response_code(404);
    exit();
    {
    ...
    I examined the contents of $parts[1] and it is "products%20name=%22xxx%22" What am I doing wrong? My code worked up until this point like in the video.

    • @dave-hollingworth
      @dave-hollingworth  11 месяцев назад

      It looks like there's a query string in your URL - what is the exact HTTPie command you're using?

    • @DavidShaw-dc4re
      @DavidShaw-dc4re 11 месяцев назад

      @@dave-hollingworth POST localhost/products name="xxx"
      I put in a a json echo of $parts[1], ignore all but "file" as they are hard coded.
      {
      "code": 404,
      "message": "Not Found",
      "file": "ncrs%20name=%22xxx%22",
      "line": ""
      }
      Ya I thought the same, about the querystring. You are using the desktop version of HTTPie? I was using the web version, is there a setting somewhere to tell it to treat /products name="xxx" as a form body rather than a querysytring? I asked because I searched the UI and didn't find anything.

    • @DavidShaw-dc4re
      @DavidShaw-dc4re 11 месяцев назад

      Regardless moving on to your online course today, great stuff.

    • @dave-hollingworth
      @dave-hollingworth  11 месяцев назад

      @@DavidShaw-dc4re I'm using the command-line version of HTTPie, I haven't tried the other versions yet I'm afraid

  • @beticohernandez9536
    @beticohernandez9536 Год назад

    Hello,
    Can that api be used with React?

  • @xanzerex1926
    @xanzerex1926 Год назад

    It is possible to make an online ordering without api?, can you please make a simple online ordering system that have database and crud

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Yes, you can have an online ordering system without an API - will add that to my list, thank you for the suggestion

    • @xanzerex1926
      @xanzerex1926 Год назад +1

      @@dave-hollingworth thank you for considering my humble request 🤩

  • @ajsabini
    @ajsabini Год назад

    Hi, i want to buy this course in udemy, appears 13.99 U$S but when i go to buycharge 84 U$S, can you help me?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Try this link: www.udemy.com/course/php-apis/?couponCode=9B22746697922B9BEAFA

  • @MenAmongTheRuins77
    @MenAmongTheRuins77 10 месяцев назад

    5 minutes in and i already learned more than from 12 hr indian courses

  • @RahulKumar-dm5zy
    @RahulKumar-dm5zy Год назад

    I have created a rest api using codeigniter 4, now the issue is, data return from api all data is in string data type, to to get data in their original datatype, like boolean value in true/false, ids in number, names in string.

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      If you connect using PDO, you can configure this by changing some PDO settings, details here: ruclips.net/video/X51KOJKrofU/видео.html

    • @RahulKumar-dm5zy
      @RahulKumar-dm5zy Год назад +1

      @@dave-hollingworth very very thanks for your reply sir, i solved this issue with entity class provided by codeigniter 4 by casting, for example in userEntity i cast columns like this, proctected $cast =['id' =>'int', 'balance'=>'float','status'=>'bool'].

  • @TheJohcker
    @TheJohcker Год назад +1

    Please can you make a tutorial secure php ?

  • @ddobren
    @ddobren 11 месяцев назад

    Add auth etc

  • @code7882
    @code7882 Год назад

    I have a question about insert data in API, can you help me please?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Of course - please give as much detail as you can in your question.

    • @code7882
      @code7882 Год назад

      @@dave-hollingworth can you give contacts? maybe instagram or another social media

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      @@code7882 My contact details are here: davehollingworth.com/contact

  • @the_bwoy_programmer
    @the_bwoy_programmer Год назад +1

    How did you set up your Httpie. Mine is returning 404 everytime I request.

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      What URL is returning 404 for you?

    • @matrixsr172
      @matrixsr172 Год назад

      @@dave-hollingworth Do i need to create a products folder?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      @@matrixsr172 Depends what you're doing - why would you need a products folder?

    • @matrixsr172
      @matrixsr172 Год назад

      @@dave-hollingworth i am trying to do as you did. but it's showing 404 not found. in thr first segment of thhe video

    • @matrixsr172
      @matrixsr172 Год назад

      @@dave-hollingworth i used the same url that you used for url rewriting

  • @vijaynath310
    @vijaynath310 Год назад

    how to deploy PHP REST API ????

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      You can just copy the entire codebase to a live server, it should work in exactly the same way, albeit with a different hostname

  • @TheXuism
    @TheXuism Год назад

    how to upload a file?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      I'll look into adding a video about this - in the meantime there's a tutorial here that covers it: www.onlyxcodes.com/2021/03/php-rest-api-file-upload.html

  • @olgala2023
    @olgala2023 7 месяцев назад

    😜

  • @eilisebilly
    @eilisebilly Год назад +2

    If anyone is having trouble with forbidden codes
    when you try DELETE PUT PATCH then check you may need to
    change the .htaccess file to
    --START
    RewriteEngine On
    RewriteRule . index.php
    Require all granted
    Require all denied
    --END
    This was for apache 2.4.54-1 on Arch linux

  • @testnlabone7897
    @testnlabone7897 Год назад +2

    class David_Golden Extends Dave_Hollingworth{
    $David_Golden_Say = "Thanks Alot Dave_Hollingworth ";
    public function __construct( $David_Golden_Say )
    {
    $this->David_Golden_Say = "Let me start by saying Thank you and by calling you a Metrix ,
    because you are the best programming teacher i've ever meet on the internet,
    you gat me going must especially am now confident with the PDO database connection and query stuff of a thing, I Appreciate you ";
    }
    echo $this->David_Golden_Say ." ". " Good Teaching Style ";
    }