title
Building a Symfony 3 App - Part 1

description
Let's build a CRUD application using the Symfony 3 PHP framework! 10 Project Course Using PHP Frameworks: https://www.eduonix.com/affiliates/id/16-10371

detail
{'title': 'Building a Symfony 3 App - Part 1', 'heatmap': [{'end': 264.925, 'start': 239.66, 'weight': 0.9}, {'end': 331.082, 'start': 298.907, 'weight': 0.9}, {'end': 425.244, 'start': 413.574, 'weight': 0.854}, {'end': 501.778, 'start': 489.369, 'weight': 0.705}, {'end': 764.981, 'start': 725.124, 'weight': 0.711}], 'summary': 'Covers the introduction of symfony 3, its comparison with other php mvc frameworks, and the plan to build a to-do list with crud functionality due to lack of tutorials, along with the process of installing symfony on windows. it also details the setup of a symfony project, configuration, and the fundamentals of symfony framework including bundles, default controller, routing, controller creation, and model entities.', 'chapters': [{'end': 211.494, 'segs': [{'end': 105.546, 'src': 'embed', 'start': 71.655, 'weight': 0, 'content': [{'end': 75.859, 'text': 'Alright, and first thing we have to do is install that.', 'start': 71.655, 'duration': 4.204}, {'end': 79.662, 'text': "Alright, so there's commands for Linux and Mac.", 'start': 76.159, 'duration': 3.503}, {'end': 83.105, 'text': "I'm on Windows, so I'm going to grab this PHP command here.", 'start': 79.822, 'duration': 3.283}, {'end': 90.012, 'text': "All right, and I'm going to go ahead and open up my command line as an administrator.", 'start': 84.206, 'duration': 5.806}, {'end': 95.999, 'text': 'All right, and let me make this a little bigger.', 'start': 90.032, 'duration': 5.967}, {'end': 105.546, 'text': 'Properties, cursor font size 24.', 'start': 98.842, 'duration': 6.704}], 'summary': 'Installing php commands for different operating systems, adjusting font size to 24.', 'duration': 33.891, 'max_score': 71.655, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU71655.jpg'}], 'start': 1.032, 'title': 'Symfony 3 for to-do list', 'summary': 'Introduces symfony 3, comparing it with other php mvc frameworks, emphasizing enterprise use, and plans to build a to-do list with crud functionality due to lack of tutorials. it also discusses the process of installing symfony on windows, including commands for setting up the symfony installer and adding php to environment variables, with a tip on restarting the system if necessary.', 'chapters': [{'end': 48.579, 'start': 1.032, 'title': 'Symfony 3 for to-do list', 'summary': 'Introduces the symfony 3 framework, highlighting its comparison with other php mvc frameworks, its preference on an enterprise level, and the plan to build a to-do list with crud functionality due to lack of tutorials on symphony 3.', 'duration': 47.547, 'highlights': ['The chapter introduces the Symfony 3 framework, emphasizing its comparability to the zend framework and its preference on an enterprise level.', 'The speaker plans to use Symfony 3 to build a to-do list with CRUD functionality due to the lack of tutorials on Symphony 3, which will involve creating, reading, updating, and deleting to-dos.']}, {'end': 211.494, 'start': 49.459, 'title': 'Symfony installation process', 'summary': 'Discusses the process of installing symfony on windows, including commands for setting up the symfony installer and adding php to environment variables, with a tip on restarting the system if necessary.', 'duration': 162.035, 'highlights': ['The chapter demonstrates the process of installing Symfony on Windows, including downloading the Symfony installer and adding PHP to the environment variables.', 'It includes the commands for setting up the Symfony installer and adding PHP to the environment variables, with a tip on restarting the system if necessary.', 'The speaker shares the process of adding PHP to the environment variables, including navigating through the control panel and system settings to set the path variable to the PHP installation directory.']}], 'duration': 210.462, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU1032.jpg', 'highlights': ['The chapter introduces Symfony 3, emphasizing its comparability to the zend framework and its preference on an enterprise level.', 'The speaker plans to use Symfony 3 to build a to-do list with CRUD functionality due to the lack of tutorials on Symphony 3.', 'The chapter demonstrates the process of installing Symfony on Windows, including downloading the Symfony installer and adding PHP to the environment variables.', 'The speaker shares the process of adding PHP to the environment variables, including navigating through the control panel and system settings to set the path variable to the PHP installation directory.']}, {'end': 527.468, 'segs': [{'end': 276.473, 'src': 'heatmap', 'start': 239.66, 'weight': 0.9, 'content': [{'end': 241.401, 'text': "Let's just call it to do list.", 'start': 239.66, 'duration': 1.741}, {'end': 244.402, 'text': 'Symphony is okay.', 'start': 243.222, 'duration': 1.18}, {'end': 246.183, 'text': 'So we get to do PHP symphony.', 'start': 244.442, 'duration': 1.741}, {'end': 249.564, 'text': 'Okay, finally.', 'start': 248.223, 'duration': 1.341}, {'end': 254.686, 'text': "So that's going to go ahead and generate a new symphony project for us.", 'start': 250.504, 'duration': 4.182}, {'end': 259.38, 'text': 'Alright, so now Symphony should be set up.', 'start': 257.178, 'duration': 2.202}, {'end': 264.925, 'text': "If you're using an Apache server like I am, you can ignore this port 8000 thing.", 'start': 260.12, 'duration': 4.805}, {'end': 276.473, 'text': 'What you want to do is if we just go to localhost slash what was this? To-do list.', 'start': 265.725, 'duration': 10.748}], 'summary': 'Setting up a php symphony project for to-do list on localhost.', 'duration': 36.813, 'max_score': 239.66, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU239660.jpg'}, {'end': 349.251, 'src': 'heatmap', 'start': 298.907, 'weight': 1, 'content': [{'end': 306.472, 'text': 'but what I like to do is set up a virtual host file so that we can just, you know, we can add our own domain here.', 'start': 298.907, 'duration': 7.565}, {'end': 319.111, 'text': "so what I'm going to do is go to my xampp folder, then apache.conf and let's see extra, and then the vhost file here, all right.", 'start': 306.472, 'duration': 12.639}, {'end': 323.075, 'text': "and then what I'm going to do is let's see, I'll copy this.", 'start': 319.111, 'duration': 3.964}, {'end': 331.082, 'text': "this is from the fuel PHP videos and I'm just going to change this to htdocs.", 'start': 323.075, 'duration': 8.007}, {'end': 336.027, 'text': 'to-do list, slash web.', 'start': 331.082, 'duration': 4.945}, {'end': 342.768, 'text': 'actually, you know, what we want to do is slash web, slash appdev.php.', 'start': 336.027, 'duration': 6.741}, {'end': 349.251, 'text': 'let me just make sure that works.', 'start': 342.768, 'duration': 6.483}], 'summary': 'Configuring virtual host file in xampp folder for custom domain setup.', 'duration': 64.313, 'max_score': 298.907, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU298907.jpg'}, {'end': 402.788, 'src': 'embed', 'start': 369.09, 'weight': 0, 'content': [{'end': 375.816, 'text': "Okay, so we'll save that and then we're just going to open up Notepad as an administrator, because we need to edit the host file.", 'start': 369.09, 'duration': 6.726}, {'end': 379.76, 'text': "And if you don't open as administrator, you won't be able to save it.", 'start': 376.997, 'duration': 2.763}, {'end': 395.964, 'text': "Okay, so we're going to say open, and then you want to go to if you're in Windows C drive, Windows System32, Drivers and etc.", 'start': 379.78, 'duration': 16.184}, {'end': 402.788, 'text': "and then I'm gonna view all files and we want to open hosts, all right,", 'start': 395.964, 'duration': 6.824}], 'summary': 'To edit the host file, open notepad as an administrator to save changes.', 'duration': 33.698, 'max_score': 369.09, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU369090.jpg'}, {'end': 444.443, 'src': 'heatmap', 'start': 413.574, 'weight': 0.854, 'content': [{'end': 415.435, 'text': "okay, so we'll save that.", 'start': 413.574, 'duration': 1.861}, {'end': 425.244, 'text': 'now just need to restart Apache and okay.', 'start': 415.435, 'duration': 9.809}, {'end': 444.443, 'text': "so we'll say stop and start, okay, so now we should just be able to go to http to-do list.", 'start': 425.244, 'duration': 19.199}], 'summary': 'Restarted apache to access http to-do list', 'duration': 30.869, 'max_score': 413.574, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU413574.jpg'}, {'end': 522.186, 'src': 'heatmap', 'start': 489.369, 'weight': 0.705, 'content': [{'end': 490.79, 'text': 'We have our main config.', 'start': 489.369, 'duration': 1.421}, {'end': 494.052, 'text': 'And then under that, we have a resources folder.', 'start': 491.691, 'duration': 2.361}, {'end': 496.174, 'text': "That's where the views folder is.", 'start': 494.553, 'duration': 1.621}, {'end': 501.778, 'text': "And you can see we have a folder called default for basically what you're looking at here.", 'start': 497.315, 'duration': 4.463}, {'end': 503.979, 'text': "And that's the index.", 'start': 502.998, 'duration': 0.981}, {'end': 507.36, 'text': 'And then we also have this base.html.twig file.', 'start': 503.999, 'duration': 3.361}, {'end': 508.54, 'text': 'And this is the layout.', 'start': 507.52, 'duration': 1.02}, {'end': 510.381, 'text': 'This is what surrounds your views.', 'start': 508.6, 'duration': 1.781}, {'end': 512.642, 'text': 'So your views will pop out right here.', 'start': 510.901, 'duration': 1.741}, {'end': 516.222, 'text': 'And then you have your head tags, body tags, stuff like that.', 'start': 513.241, 'duration': 2.981}, {'end': 522.186, 'text': 'Now Twig is the template engine that Symfony uses by default.', 'start': 516.924, 'duration': 5.262}], 'summary': 'Symfony uses twig as the default template engine for handling views and layouts.', 'duration': 32.817, 'max_score': 489.369, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU489369.jpg'}], 'start': 213.495, 'title': 'Symfony project setup and configuration', 'summary': "Details the process of setting up a symfony project using 'symfony new' command, accessing the project via localhost, and configuring a virtual host file. it also discusses configuring and setting up a symfony application by editing the host file, adding an entry for the loopback address, and explaining the structure of a default symfony application.", 'chapters': [{'end': 368.139, 'start': 213.495, 'title': 'Setting up symfony project', 'summary': "Details the process of setting up a symfony project, including running 'symfony new' command, accessing the project via localhost, and configuring a virtual host file for the project.", 'duration': 154.644, 'highlights': ["The chapter details the process of setting up a Symfony project, including running 'symfony new' command, accessing the project via localhost, and configuring a virtual host file for the project.", "Running 'symfony new' command with the project name 'to do list' generates a new Symfony project.", "Accessing the project via localhost and navigating to 'localhost/to-do list/web' displays the start page of the Symfony project.", "Configuring a virtual host file allows setting up a custom domain for the Symfony project, enabling access via 'to-do list' instead of 'localhost/to-do list/web'."]}, {'end': 527.468, 'start': 369.09, 'title': 'Configuring and setting up a symfony application', 'summary': 'Discusses configuring and setting up a symfony application, including editing the host file, adding an entry for the loopback address, restarting apache, and explaining the structure of a default symfony application.', 'duration': 158.378, 'highlights': ['The process of configuring and setting up a Symfony application The chapter discusses the process of configuring and setting up a Symfony application, including editing the host file, adding an entry for the loopback address, and restarting Apache.', 'Explanation of the structure of a default Symfony application The structure of a default Symfony application is explained, covering the app folder with its configuration and resources, the views folder, the layout file, and the usage of Twig as the default template engine.', 'Importance of opening Notepad as an administrator to edit the host file It is important to open Notepad as an administrator to edit the host file, as it allows saving changes necessary for configuring the Symfony application.']}], 'duration': 313.973, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU213495.jpg', 'highlights': ["Running 'symfony new' command with the project name 'to do list' generates a new Symfony project.", "Configuring a virtual host file allows setting up a custom domain for the Symfony project, enabling access via 'to-do list' instead of 'localhost/to-do list/web'.", "Accessing the project via localhost and navigating to 'localhost/to-do list/web' displays the start page of the Symfony project.", 'The process of configuring and setting up a Symfony application includes editing the host file, adding an entry for the loopback address, and restarting Apache.', 'The structure of a default Symfony application is explained, covering the app folder with its configuration and resources, the views folder, the layout file, and the usage of Twig as the default template engine.', 'It is important to open Notepad as an administrator to edit the host file, as it allows saving changes necessary for configuring the Symfony application.']}, {'end': 1088.918, 'segs': [{'end': 654.154, 'src': 'embed', 'start': 626.161, 'weight': 2, 'content': [{'end': 631.143, 'text': "So if we go to config and then we go to routing, you'll see there's not much in this file.", 'start': 626.161, 'duration': 4.982}, {'end': 640.468, 'text': "Basically what we're saying is that for the controllers in the app bundle, we're going to be using annotations for Symfony.", 'start': 632.024, 'duration': 8.444}, {'end': 654.154, 'text': "our routing alright so basically we don't have to put anything in this file if we go to our controller which is in source and default controller.", 'start': 641.937, 'duration': 12.217}], 'summary': 'Using annotations for symfony controllers in the app bundle, so no need to put anything in the routing file.', 'duration': 27.993, 'max_score': 626.161, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU626161.jpg'}, {'end': 703.838, 'src': 'embed', 'start': 679.469, 'weight': 1, 'content': [{'end': 686.131, 'text': 'But I actually like this structure because you can see right away, you know that the slash is going to go to the index action.', 'start': 679.469, 'duration': 6.662}, {'end': 692.374, 'text': 'So from here, what I want to do is just create another controller for our to-dos.', 'start': 687.572, 'duration': 4.802}, {'end': 703.838, 'text': "All right, so let's go to our controller folder, say new file, and I'm going to save it as to-do controller.php.", 'start': 692.674, 'duration': 11.164}], 'summary': 'Creating a new to-do controller in the controller folder.', 'duration': 24.369, 'max_score': 679.469, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU679469.jpg'}, {'end': 775.649, 'src': 'heatmap', 'start': 725.124, 'weight': 0, 'content': [{'end': 743.178, 'text': "okay, then we'll have our index and for the route we're going to have this go to to do's and for the name let's say todo underscore list, alright,", 'start': 725.124, 'duration': 18.054}, {'end': 747.699, 'text': "and then let's see, let's just test it out.", 'start': 743.178, 'duration': 4.521}, {'end': 754.041, 'text': "so we'll just say die, and then we'll pass in todos, alright.", 'start': 747.699, 'duration': 6.342}, {'end': 759.983, 'text': 'so if we save that and then go to slash todos, okay.', 'start': 754.041, 'duration': 5.942}, {'end': 764.981, 'text': 'so we get our string here that we passed in Alright.', 'start': 759.983, 'duration': 4.998}, {'end': 769.885, 'text': 'so creating routes and controllers and actions is as easy as that really.', 'start': 764.981, 'duration': 4.904}, {'end': 772.787, 'text': 'And we can name this whatever we want.', 'start': 771.066, 'duration': 1.721}, {'end': 775.649, 'text': "I'm actually going to change it to list action.", 'start': 773.408, 'duration': 2.241}], 'summary': "Creating routes and controllers for todo list, easy as passing in 'todos'", 'duration': 32.471, 'max_score': 725.124, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU725124.jpg'}], 'start': 528.468, 'title': 'Symfony framework fundamentals', 'summary': 'Covers symfony basics, introducing bundles and default controller, and details routing, controller creation, model entities, emphasizing annotations for routing, and linkage of actions to views.', 'chapters': [{'end': 599.779, 'start': 528.468, 'title': 'Symfony basics', 'summary': 'Introduces the concept of symfony bundles, explaining their role as isolated bits of reusable code and demonstrating the default controller and index action.', 'duration': 71.311, 'highlights': ["Symfony has what's called bundles and they're basically just isolated bits of code. Explains the concept of Symfony bundles as isolated bits of code.", 'the app bundle already has a controller folder with the default controller. Demonstrates the presence of a controller folder with the default controller in the app bundle.', 'every action is going to be prefixed with the word action. Explains the naming convention for actions in Symfony.']}, {'end': 1088.918, 'start': 599.779, 'title': 'Symfony routing and controller creation', 'summary': 'Details the creation of model entities, the routing configuration, and the creation of controllers and actions in symfony, emphasizing the use of annotations for routing and the linkage of actions to views, enabling easy testing and implementation.', 'duration': 489.139, 'highlights': ['The chapter details the creation of model entities, the routing configuration, and the creation of controllers and actions in Symfony, emphasizing the use of annotations for routing and the linkage of actions to views, enabling easy testing and implementation.', 'The chapter explains the use of annotations for Symfony routing, highlighting how the system determines routes based on annotations, making it easier to understand the flow of actions and routes.', "The speaker demonstrates the creation of a to-do controller, showcasing the process of copying the structure from the default controller, modifying the route, and testing the functionality by accessing the route 'todos', providing a clear demonstration of the ease of creating routes and controllers in Symfony.", 'The chapter emphasizes the ease of creating routes and controllers in Symfony, demonstrating the creation of new controllers for to-dos, showcasing the simplicity of copying the existing structure, modifying the routes, and testing the functionality, highlighting the efficiency and ease of implementation in Symfony.', "The speaker illustrates the process of linking actions to views by creating new views in the 'to do' folder, providing a clear demonstration of the linkage between actions and views, showcasing the seamless integration and linkage of views to actions in Symfony."]}], 'duration': 560.45, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/HchMW8EhWPU/pics/HchMW8EhWPU528468.jpg', 'highlights': ['The chapter emphasizes the ease of creating routes and controllers in Symfony, demonstrating the creation of new controllers for to-dos, showcasing the simplicity of copying the existing structure, modifying the routes, and testing the functionality, highlighting the efficiency and ease of implementation in Symfony.', 'The chapter details the creation of model entities, the routing configuration, and the creation of controllers and actions in Symfony, emphasizing the use of annotations for routing and the linkage of actions to views, enabling easy testing and implementation.', "The speaker illustrates the process of linking actions to views by creating new views in the 'to do' folder, providing a clear demonstration of the linkage between actions and views, showcasing the seamless integration and linkage of views to actions in Symfony.", 'The chapter explains the use of annotations for Symfony routing, highlighting how the system determines routes based on annotations, making it easier to understand the flow of actions and routes.', "The speaker demonstrates the creation of a to-do controller, showcasing the process of copying the structure from the default controller, modifying the route, and testing the functionality by accessing the route 'todos', providing a clear demonstration of the ease of creating routes and controllers in Symfony."]}], 'highlights': ['The chapter introduces Symfony 3, emphasizing its comparability to the zend framework and its preference on an enterprise level.', 'The speaker plans to use Symfony 3 to build a to-do list with CRUD functionality due to the lack of tutorials on Symphony 3.', 'The chapter demonstrates the process of installing Symfony on Windows, including downloading the Symfony installer and adding PHP to the environment variables.', "Running 'symfony new' command with the project name 'to do list' generates a new Symfony project.", "Configuring a virtual host file allows setting up a custom domain for the Symfony project, enabling access via 'to-do list' instead of 'localhost/to-do list/web'.", 'The chapter emphasizes the ease of creating routes and controllers in Symfony, demonstrating the creation of new controllers for to-dos, showcasing the simplicity of copying the existing structure, modifying the routes, and testing the functionality, highlighting the efficiency and ease of implementation in Symfony.', 'The chapter details the creation of model entities, the routing configuration, and the creation of controllers and actions in Symfony, emphasizing the use of annotations for routing and the linkage of actions to views, enabling easy testing and implementation.', "The speaker illustrates the process of linking actions to views by creating new views in the 'to do' folder, providing a clear demonstration of the linkage between actions and views, showcasing the seamless integration and linkage of views to actions in Symfony.", 'The chapter explains the use of annotations for Symfony routing, highlighting how the system determines routes based on annotations, making it easier to understand the flow of actions and routes.', "The speaker demonstrates the creation of a to-do controller, showcasing the process of copying the structure from the default controller, modifying the route, and testing the functionality by accessing the route 'todos', providing a clear demonstration of the ease of creating routes and controllers in Symfony."]}