`
Amos_Franck
  • 浏览: 10463 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Symfony学习总结一

阅读更多


今晚要开始一个Symfony项目;
那么通过官网学习了

下载创建一个Symfony项目原型:一个全功能的Symfony程序;

然后阅读了如何创建一个页面;

如何使用路由;

第一创建一个Symfony项目原型,
我使用的是composer,如下命令:
composer create-project symfony/framework-standard-edition my_project_name;
创建完这个原型,我执行php bin/console server:run,可以跑起来;

学习新技能:
1:经常使用composer update可以防止bug和漏洞;
2:定期执行php bin/console security:check,可以检查重大安全漏洞;
3:要程序运行,执行composer install;下载和安装程序所需的全部依赖:

第二创建一个Symfony的页面

controller和Routing,template :

我并没有继续写代码只是在看文档,所以此刻记录下重点:
1:一个控制器必须返回一个Symfony的Response对象
2:在控制器中返回的Response对象可以包含HTML,JSON甚至二进制文件比如图片或PDF,设置HTTP头信息或HTTP状态码
3:返回一个json如:

      $data = array(
            'lucky_number' => rand(0, 100),
        );
 
        return new Response(
            json_encode($data),
            200,
            array('Content-Type' => 'application/json')
        );

 可以再简化如:

        $data = array(
            'lucky_number' => rand(0, 100),
        );
 
        // calls json_encode and sets the Content-Type header
        // 自动调用json_encode并设置Content-Type头
        return new JsonResponse($data);

 4:URL:

    /**
     * @Route("/lucky/number/{count}")
     */

其中{count}叫做通配符,只要方法中传一样名称的变量就可以取到它,可以传多个参数;

 模板:

1:其中使用templating服务,这样取:

 $html = $this->container->get('templating')->render(
            'lucky/number.html.twig',
            array('luckyNumberList' => $numbersList)
        );

return new Response($html);

2:templating服务,是TwigEngine的实例,里面有个render()方法;

3:服务容器”,它拥有很多对象,然后你可以通过“昵称”(比如templatinglogger)利用get()来得到其中的任何一个对象;

4:各个包的目录结构;

第三路由系统

 

symfony路由系统的目的是解析url,并确定调用哪个控制器。整个过程是这样的:

  1. 由Symfony的前端控制器(如app.php)来处理请求。

  2. symfony的核心(Kernel内核)要求路由器来检查请求。

  3. 路由将输入的URL匹配到一个特定的路由,并返回路由信息,其中包括要执行的控制器信息。

  4. Symfony内核执行控制器并最终返回Response对象

页面里使用url

<a href="{{ path('blog_show', {'slug': 'my-blog-post'}) }}">
  Read this blog post.
</a>

 

 

分享到:
评论

相关推荐

    PHP著名框架symfony 含Demo

    4. **学习曲线**:相比其他框架,Symfony的学习曲线可能稍陡,但一旦掌握,就能实现高效开发。 **Demo项目的意义** 在提供的压缩包中包含的"symfony-1.2.11"可能是Symfony的一个早期版本的示例项目。通过分析和...

    1、Symfony介绍1

    本课程将逐步构建一个包含前台和后台管理端的博客系统,虽然这个系统是为了教学目的而设计的,可能并未实现所有功能或存在一些边缘问题,但它为学习 Symfony 提供了一个实用的起点。感兴趣的学员可以访问课程的 ...

    symfony 中文手册

    尽管这里的中文手册对应的是 Symfony 1 版本,但其核心概念和基本原则在后续版本中依然适用,因此具有极高的学习和参考价值。 **目录结构** Symfony 的项目结构清晰,主要包含以下几个部分: 1. `apps`:应用程序...

    Symfony2 Jobeet Day 2_ The Project PDF

    总结来说,Symfony2 Jobeet项目不仅展示了Symfony2框架如何用于构建复杂的Web应用程序,还提供了一个实际的案例,让开发者能够深入了解如何利用该框架的各个方面来创建一个功能丰富的在线工作板。通过这个项目,...

    第03章 运行 symfony1

    【标题】: "第03章 运行 Symfony1" 【描述】: "本章将指导您如何运行基于PHP5的Symfony框架。首先,确保您的系统已安装了正确版本的PHP,然后通过沙盒快速试用或通过PEAR或Subversion进行安装。我们将详细解释沙盒...

    symfony1:symfony 1.x的官方Git镜像

    总结来说,`symfony1` 是一个功能丰富的 PHP 框架,它的 `1.x` 版本,特别是 `1.4`,在历史上发挥了重要作用。了解并掌握这个框架,可以帮助开发者理解 Web 开发的基本原理,同时为迁移至更现代的框架做好准备。而...

    twig-bridge, 为 Twig 和各种Symfony组件提供集成.zip

    总结来说,"twig-bridge" 是 Symfony 生态系统中的重要组成部分,它为 Symfony 开发者提供了在 Twig 中使用 Symfony 功能的便捷途径。通过这个开源项目,你可以实现模板和后端组件的紧密集成,提升代码的可读性和可...

    Wise一个Symfony配置管理器

    总结,Wise 作为一个 Symfony 配置管理器,旨在优化配置处理流程,使开发者能更高效地管理项目配置。尽管它可能已被废弃,但其源代码仍可能包含有价值的思路和实现,对于熟悉 Symfony 并希望改进配置管理的开发者来...

    symfony framework all

    **Symfony框架详解** Symfony是一款基于PHP的开源Web应用框架,旨在提供高效、可维护和可扩展的开发环境。...学习并掌握Symfony,意味着你将拥有一个强大的工具箱,能应对各种复杂的Web开发挑战。

    Symfony 高性能php框架 v5.2.11.zip

    总结来说,Symfony 5.2.11是一个强大且成熟的PHP框架,它的组件化设计、高性能和丰富的生态系统为开发者提供了高效开发Web应用的工具。无论你是初学者还是经验丰富的开发者,都能从这个框架中受益,提升你的开发能力...

    Symfony 高性能php框架 v5.4.35.zip

    总结来说,Symfony v5.4.35 是一个强大的PHP框架,以其高性能、模块化和安全性赢得了开发者们的喜爱。无论你是新手还是经验丰富的开发者,都可以在这个版本中找到提升开发效率和技能的新方法。通过深入学习和实践,...

    Symfony2 session用法实例分析

    关于Symfony2的详细学习资源,除了官方文档之外,还可以参考相关的技术博客,例如IT985博客上发布的Symfony2 session用法实例分析这篇文章,它通过实例帮助开发者理解Symfony2自带session方法的使用技巧。...

    Symfony 高性能php框架 v4.0.6

    总结,Symfony 4.0.6版本提供了丰富的特性和工具,旨在简化Web开发过程,提升性能。无论是大型企业级项目还是小型应用,都可以从其强大的功能和灵活的设计中受益。通过深入学习和实践,开发者可以充分利用Symfony的...

    Symfony

    总结来说,Symfony 是一个强大且全面的 PHP 框架,它不仅提供了丰富的功能,还注重代码质量和开发效率,是构建高质量企业级 Web 应用的理想选择。通过学习和掌握 Symfony,开发者可以提升自己的技能,为项目带来更多...

    symfony-must-watch::movie_camera:关于Symfony的必看视频

    总结来说,Symfony 是一个强大而全面的 PHP 框架,涵盖了 web 开发的各个方面。通过深入学习和实践,开发者可以构建高效、可维护的应用程序,并利用 Symfony 的生态系统来提升开发效率和质量。`symfony-must-watch` ...

Global site tag (gtag.js) - Google Analytics