Maison développement back-end tutoriel php Explication détaillée de la création de projets et de la configuration de modèles dans le framework Symfony2

Explication détaillée de la création de projets et de la configuration de modèles dans le framework Symfony2

Jan 05, 2018 pm 05:50 PM
创建 项目

Cet article présente principalement la méthode de création de projets et de paramètres de modèle dans le framework Symfony2, et analyse en détail les étapes spécifiques et le code d'implémentation détaillé du framework Symfony2 sous forme d'exemples. Les amis dans le besoin peuvent s'y référer. J'espère que cela sera utile à tout le monde.

Préparation et aperçu de l'environnement

Habitué à utiliser l'éditeur Netbean dans Windows et le système Virtual Centos VirtualBox, nginx+php-fpm+mysql préinstallé, de bien sûr, Apache est également un bon choix. Utilisez http://symfony comme nom de domaine de développement sur Windows et Centos.

1. Paramètres de téléchargement et d'environnement

1. Comment établir un environnement de développement sur centos ne sera pas décrit en détail. Bien entendu, l'environnement de développement peut également l'être. établi sur les fenêtres.

2. Concernant l'utilisation de symfony au lieu de 127.0.0.1, modifiez le fichier /etc/hosts dans le système Liunx et modifiez le fichier C:WindowsSystem32driversetchost dans le système Win7 (doit être ouvert avec les privilèges d'administrateur)

Ajouter similaire Entrez simplement le contenu de l'alias IP 1 et de l'alias 2, tel que :

# /etc/hosts 127.0.0.1 symblog dev symfony
Copier après la connexion
3. Téléchargez manuellement symfony2.

La seule chose à noter est la suivante : les répertoires app/cache et app/logs doivent être définis sur 777 autorisations. Ce problème ne devrait pas exister dans l'environnement de développement Windows.

4. Modifiez le nom de domaine symfony du fichier de configuration Apache ou Nginx pour pointer vers le répertoire Web du fichier symfony téléchargé.

À ce stade, vous devriez pouvoir accéder à la page par défaut de symfony via http://symfony/app_dev.php. Il existe plusieurs démos auxquelles vous pouvez vous référer et dont vous pouvez apprendre.

app_dev.php charge par défaut une barre d'outils de développement ci-dessous, qui affiche des informations sur la page actuelle, ce qui facilite grandement le débogage du programme. Uniquement lorsque la variable d'environnement est dev. affiché.

5. Lorsque vous utilisez Composer pour l'installation, vous serez invité à afficher MySQL et d'autres informations associées. Si vous devez modifier ces informations ou télécharger directement le fichier, vous pouvez accéder à la page "Configurer". paramètres pertinents.

Les bundles (peut-être appelés packages, bundles, assemblys ou projets, utilisons l'anglais) sont l'élément de base de symfony, des packages de code réutilisables partagés un par un, même symfony lui-même. Il est exécuté comme un bundle. Y compris des contrôleurs, des modules, des modèles et même des images, des feuilles de style js, css et d'autres ressources. C'est une chose très compliquée. Différents bundles utilisent l'espace de noms après php5.3. La plupart des hôtes virtuels cpenal et da semblent n'avoir que la version php5.2, et symfony2 ne peut pas être exécuté.

2. Créer un bundle

Dans l'exemple suivant, un blog sera créé. Symfony fournit un grand nombre d'outils pour créer rapidement des projets. Par exemple, nous pouvons l'utiliser pour créer rapidement un bundle de base pour un blog

php app/console generate:bundle –namespace=Blogger/BlogBundle –format=yml
Copier après la connexion
Utilisez simplement tous les paramètres par défaut après l'avoir exécuté. Nous pouvons facilement créer les contrôleurs, modules et modèles de base dont nous avons besoin. Contient le comportement suivant :

Enregistrer les bundles

Tous les bundles utilisés dans symfony doivent d'abord être enregistrés. Certains bundles ne seront utilisés que dans des environnements de développement et de test (dev. ou test), comme mentionné ci-dessus dans la barre d'outils de développement. L'extrait de code ci-dessous montre comment la commande de création de bundle enregistre le bundle BloggerBlogBundle.

// app/AppKernel.php
class AppKernel extends Kernel {
public function registerBundles() {
$bundles = array(
// ..
new Blogger\BlogBundle\BloggerBlogBundle(),
);
// .. return $bundles; } // ..
}
}
Copier après la connexion

routage
<. 🎜>En tant que framework, la fonction de routage est créée dans app/config/routing.yml par le créateur du bundler Symfony utilise le format yml pour enregistrer les informations de configuration.

l'option préfixe nous permet de le placer dans des sous-répertoires tels que blog, actualités, etc.
# app/config/routing.yml
BloggerBlogBundle:
resource: "@BloggerBlogBundle/Resources/config/routing.yml"
prefix: /
Copier après la connexion
Fichier

En plus des fichiers de configuration ci-dessus, la plupart des autres fichiers sont générés dans le répertoire src, comme la plupart des frameworks mvc. Le répertoire Blogger est généré sous src et il existe un sous-répertoire BlogBundle qui stocke divers éléments connexes. La différence est qu'un répertoire similaire à blogger correspond à l'espace de noms PHP.

Contrôleur par défaut

Le générateur Bundle génère le contrôleur par défaut sous src. Un simple bonjour peut être vu en visitant : http://symfony/app_dev.php/hello/world. Concernant la façon dont cette page est générée :

routage

est toujours un routage. La différence est que le routage précédent est enregistré et utilisé dans l'ensemble du programme. Le routage ici contrôle. la page spécifique. Utilisez src/Blogger/BlogBundle/Resources/config/routing.yml pour contrôler BloggerBlogBundle, y compris les fragments de programme suivants :

Paramètres : effectuez la détection d'URL, toute valeur conforme à la page spécifique. /hello/{name} structure Sera attribué à la méthode {name},
# src/Blogger/BlogBundle/Resources/config/routing.yml
BloggerBlogBundle_homepage:
pattern: /hello/{name}
defaults: { _controller: BloggerBlogBundle:Default:index }
Copier après la connexion
: Il n'y a aucune restriction sur le formulaire, en théorie, toutes les opérations de put, get, post et delete peuvent être effectuées.

Suivi : si les deux éléments ci-dessus sont remplis, alors {name} sera transféré vers un fichier spécifique et le comportement d'index ci-dessus du contrôleur par défaut dans le fichier src/Blogger/BlogBundle/Controller/DefaultController.php sera utilisé.

Contrôleur

Dans le bundle de production par défaut, le comportement du contrôleur est assez simple, le paramètre {name} est transmis et transmis au fichier modèle :

BloggerBlogBundle:Default:index.html.twig utilisera le fichier modèle index.html.twig sous le dossier Default dans le dossier des vues BloggerBlogBundle.
// src/Blogger/BlogBundle/Controller/DefaultController.php
namespace Blogger\BlogBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
public function indexAction($name)
{
return $this->render(&#39;BloggerBlogBundle:Default:index.html.twig&#39;, array(&#39;name&#39; => $name));
}
}
Copier après la connexion

Fichier modèle

Ouvrez le fichier modèle ci-dessus, un code très simple :

{# src/Blogger/BlogBundle/Resources/views/Default/index.html.twig #}
Hello {{ name }}!
Copier après la connexion

以上就是symfony的整个mvc流程, 这么多文件的作用只是输出一个 “hello world”. 理论上不用bundler创建器, 只是手动创建上述文件也可以实现相同效果。花费的时间就多了去了。

回到正题, 我们是创建博客系统, 所以不需要 hello world,

1.移除控制器 src/Blogger/BlogBundle/Controller/DefaultController.php
2.移除模板 src/Blogger/BlogBundle/Resources/views/Default/
3.最后移除路由 src/Blogger/BlogBundle/Resources/config/routing.yml
整个世界清静了。

三、让我们开始创建博客的主页

Twig的优点

在symfony中我们可以使用 Twig和php(这不是废话嘛)作为模板。使用Twig的以下优点:

1. 快: 是编绎过的php类, 可以占用更少的资源

2. 简洁:想想看要打, Twig输入的内容要少很多。

3. 可继承: 非常cool的一个功能

4. 安全: 转义功能默认开启, 甚至还可以为重要代码提供沙盒功能。

5. 可扩展: 需要额外的定制功能, 可以随时扩展

可继承是一个非常好的优点, 我们将使用三级继承结构来定制这个模板, 这将允许我们在三个不同层级修改模板, 方便自由定制。

主模板–level 1

<!– app/Resources/views/base.html.twig –>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset=utf-8" />
<title>{% block title %}symfony{% endblock %} – blog</title>
<!–[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]–>
{% block stylesheets %}
<link href=&#39;http://fonts.googleapis.com/css?family=Irish+Grover&#39; rel=&#39;stylesheet&#39; type=&#39;text/css&#39;>
<link href=&#39;http://fonts.googleapis.com/css?family=La+Belle+Aurore&#39; rel=&#39;stylesheet&#39; type=&#39;text/css&#39;>
<link href="{{ asset(&#39;css/screen.css&#39;) }}" type="text/css" rel="stylesheet" />
{% endblock %}
<link rel="shortcut icon" href="{{ asset(&#39;favicon.ico&#39;) }}" />
</head>
<body>
<section id="wrapper">
<header id="header">
<p>
{% block navigation %}
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
{% endblock %}
</p>
<hgroup>
<h2>{% block blog_title %}<a href="#">symfony</a>{% endblock %}</h2>
<h3>{% block blog_tagline %}<a href="#">creating a blog in Symfony2</a>{% endblock %}</h3>
</hgroup>
</header>
<section>
{% block body %}{% endblock %}
</section>
<aside>
{% block sidebar %}{% endblock %}
</aside>
<p id="footer">
{% block footer %}
<a href="http://blog.dengruo.com/201309/1409">Symfony2 博客教程</a>
{% endblock %}
</p>
</section>
{% block javascripts %}{% endblock %}
</body>
</html>
Copier après la connexion

上面代码在引入了一个js文件, 在ie9版本前的浏览器中实现html, 以及两个css文件导入google fronts.
这构成了网页的主要内容结构, 相当于drupal的html.tpl.php+page.tpl.php.
让我们看一下头部文件

<title>{% block title %}blog{% endblock %} – symfony</title>
Copier après la connexion

{% 标签中即不是html, 也不是php, 他是3个Twig标签中的一个, 用于执行某些动作。 这里可以找到完整的Twig控制动作用于这个标签。 回到当前代码, 是用于查找title的block并输出他, 如果没有则输出默认的symblo这个词。
Twig的可续承特性可以用于修改title, 我们可以在其它模板文件中重写它:

{% extends &#39;::base.html.twig&#39; %}
{% block title %}The blog title goes here{% endblock %}
Copier après la connexion

上面代码首先继承了第一次定义这个block的文件, 然后修改它。 网站标题部分会输出 'The blog title goes here – symfony'。
一般而言, 我们引用模板文件时会采用bundle:controller:template, 但是以上代码并没有bundle 和controller, 不包含这两个字段会直接引用app/Resources/views/ 文件夹下面的文件。

在css样式表中, 我们可以发现另一个Twig标签{{, 这是一个输出(说些什么)标签。

<link href="{{ asset(&#39;css/screen.css&#39;) }}" type="text/css" rel="stylesheet" />
Copier après la connexion

这个标签用于输出变量或者表达式, 上面例子输出了asset函数的返回值, 这个函数提供可移植的方式来返回css,js, 图片的地址。

这个标签可以以特定格式输出我们想要内容, 比如时间:

{{ blog.created|date("d-m-Y") }}
Copier après la connexion

全部过滤列表在 Twig 文档可以查到。

最后一个标签并没有在上述代码中出现, 它是{#, 只是一个注释标签

{# 注释内容可以输出在这里 #}

接下来我们将创建css样式表web/css/screen.css , 加入以下内容.

html,body,p,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}
body { line-height: 1;font-family: Arial, Helvetica, sans-serif;font-size: 12px; width: 100%; height: 100%; color: #000; font-size: 14px; }
.clear { clear: both; }
#wrapper { margin: 10px auto; width: 1000px; }
#wrapper a { text-decoration: none; color: #F48A00; }
#wrapper span.highlight { color: #F48A00; }
#header { border-bottom: 1px solid #ccc; margin-bottom: 20px; }
#header .top { border-bottom: 1px solid #ccc; margin-bottom: 10px; }
#header ul.navigation { list-style: none; text-align: right; }
#header .navigation li { display: inline }
#header .navigation li a { display: inline-block; padding: 10px 15px; border-left: 1px solid #ccc; }
#header h2 { font-family: &#39;Irish Grover&#39;, cursive; font-size: 92px; text-align: center; line-height: 110px; }
#header h2 a { color: #000; }
#header h3 { text-align: center; font-family: &#39;La Belle Aurore&#39;, cursive; font-size: 24px; margin-bottom: 20px; font-weight: normal; }
.main-col { width: 700px; display: inline-block; float: left; border-right: 1px solid #ccc; padding: 20px; margin-bottom: 20px; }
.sidebar { width: 239px; padding: 10px; display: inline-block; }
.main-col a { color: #F48A00; }
.main-col h1,
.main-col h2
{ line-height: 1.2em; font-size: 32px; margin-bottom: 10px; font-weight: normal; color: #F48A00; }
.main-col p { line-height: 1.5em; margin-bottom: 20px; }
#footer { border-top: 1px solid #ccc; clear: both; text-align: center; padding: 10px; color: #aaa; }
Copier après la connexion

Bundler模板–level 2

现在我们为blog bundler 创建模板, 创建src/Blogger/BlogBundle/Resources/views/layout.html.twig 并加入:

{# src/Blogger/BlogBundle/Resources/views/layout.html.twig #}
{% extends &#39;::base.html.twig&#39; %}
{% block sidebar %}
Sidebar content
{% endblock %}
Copier après la connexion

非常简单的代码,1. 继承了一级模板, 并且为博客内容特别定制了侧边栏, 很显然我们并不想博客的布局与其它页面一样。 类似drupal7中page–content-type.tpl.php模板, 定制了某一特殊类型内容的布局。

具体页面布局–level 3

这个阶段已经涉及到创建具体页面, 所以需要先创建控制器src/Blogger/BlogBundle/Controller/PageController.php

// src/Blogger/BlogBundle/Controller/PageController.php
namespace Blogger\BlogBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class PageController extends Controller
{
public function indexAction()
{
return $this->render(&#39;BloggerBlogBundle:Page:index.html.twig&#39;);
}
}
Copier après la connexion

然后创建相应的Twig文件: src/Blogger/BlogBundle/Resources/views/Page/index.html.twig

{# src/Blogger/BlogBundle/Resources/views/Page/index.html.twig #}
{% extends &#39;BloggerBlogBundle::layout.html.twig&#39; %}
{% block body %}
Blog homepage
{% endblock %}
Copier après la connexion

创建路由将首页引导到我们刚创建的页面:src/Blogger/BlogBundle/Resources/config/routing.yml

# src/Blogger/BlogBundle/Resources/config/routing.yml
BloggerBlogBundle_homepage:
pattern: /
defaults: { _controller: BloggerBlogBundle:Page:index }
requirements:
_method: GET
Copier après la connexion

再次访问 http://symfony/app_dev.php可以看见简单的首页。

四、再创建一个about页面

路由:在src/Blogger/BlogBundle/Resources/config/routing.yml中加入

# src/Blogger/BlogBundle/Resources/config/routing.yml
BloggerBlogBundle_about:
pattern:  /about
defaults: { _controller: BloggerBlogBundle:Page:about }
requirements:
_method:  GET
Copier après la connexion

当以get方式访问about页时执行位于BloggerBlogBundle命名空间的page控制器about动作。

控制器: 在src/Blogger/BlogBundle/Controller/PageController.php 于page控制器中加入about动作

// src/Blogger/BlogBundle/Controller/PageController.php
// ..
public function aboutAction()
{
return $this->render(&#39;BloggerBlogBundle:Page:about.html.twig&#39;);
}
// ..
Copier après la connexion

模板: 创建src/Blogger/BlogBundle/Resources/views/Page/about.html.twig 并加入相关页面文件

{# src/Blogger/BlogBundle/Resources/views/Page/about.html.twig #}
{% extends &#39;BloggerBlogBundle::layout.html.twig&#39; %}
{% block body %}
about page
{% endblock %}
Copier après la connexion

简单的三个流程增加了关于页面:http://symfony/app_dev.php/about

相关推荐:

Explication détaillée de la façon dont Symfony obtient les paramètres de requête dans les modèles et les comportements

Explication détaillée de l'utilisation des variables de raccourci du modèle Symfony

Brève description des classes principales de Symfony

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
Nordhold: Système de fusion, expliqué
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1673
14
Tutoriel PHP
1278
29
Tutoriel C#
1257
24
L'IA peut-elle vaincre le dernier théorème de Fermat ? Un mathématicien a abandonné 5 ans de sa carrière pour transformer 100 pages de preuve en code L'IA peut-elle vaincre le dernier théorème de Fermat ? Un mathématicien a abandonné 5 ans de sa carrière pour transformer 100 pages de preuve en code Apr 09, 2024 pm 03:20 PM

Le dernier théorème de Fermat, sur le point d'être conquis par l'IA ? Et la partie la plus significative de tout cela est que le dernier théorème de Fermat, que l’IA est sur le point de résoudre, vise précisément à prouver que l’IA est inutile. Autrefois, les mathématiques appartenaient au domaine de l’intelligence humaine pure ; aujourd’hui, ce territoire est déchiffré et piétiné par des algorithmes avancés. Image Le dernier théorème de Fermat est une énigme « notoire » qui intrigue les mathématiciens depuis des siècles. Cela a été prouvé en 1993, et les mathématiciens ont désormais un grand projet : recréer la preuve à l’aide d’ordinateurs. Ils espèrent que toute erreur logique dans cette version de la preuve pourra être vérifiée par un ordinateur. Adresse du projet : https://github.com/riccardobrasca/flt

Partagez un moyen simple de packager des projets PyCharm Partagez un moyen simple de packager des projets PyCharm Dec 30, 2023 am 09:34 AM

Partagez la méthode d'empaquetage de projet PyCharm simple et facile à comprendre. Avec la popularité de Python, de plus en plus de développeurs utilisent PyCharm comme outil principal pour le développement Python. PyCharm est un puissant environnement de développement intégré qui fournit de nombreuses fonctions pratiques pour nous aider à améliorer l'efficacité du développement. L’une des fonctions importantes est le packaging du projet. Cet article explique comment empaqueter des projets dans PyCharm d'une manière simple et facile à comprendre, et fournit des exemples de code spécifiques. Pourquoi packager des projets ? Développé en Python

Conseils pratiques PyCharm : convertir le projet en fichier EXE exécutable Conseils pratiques PyCharm : convertir le projet en fichier EXE exécutable Feb 23, 2024 am 09:33 AM

PyCharm est un puissant environnement de développement intégré Python qui fournit une multitude d'outils de développement et de configurations d'environnement, permettant aux développeurs d'écrire et de déboguer du code plus efficacement. Lors du processus d'utilisation de PyCharm pour le développement de projets Python, nous devons parfois regrouper le projet dans un fichier EXE exécutable pour l'exécuter sur un ordinateur sur lequel aucun environnement Python n'est installé. Cet article explique comment utiliser PyCharm pour convertir un projet en fichier EXE exécutable et donne des exemples de code spécifiques. tête

Regardons de plus près PyCharm : un moyen rapide de supprimer des projets Regardons de plus près PyCharm : un moyen rapide de supprimer des projets Feb 26, 2024 pm 04:21 PM

Titre : En savoir plus sur PyCharm : Un moyen efficace de supprimer des projets Ces dernières années, Python, en tant que langage de programmation puissant et flexible, a été privilégié par de plus en plus de développeurs. Dans le développement de projets Python, il est crucial de choisir un environnement de développement intégré efficace. En tant qu'environnement de développement intégré puissant, PyCharm fournit aux développeurs Python de nombreuses fonctions et outils pratiques, notamment la suppression rapide et efficace des répertoires de projet. Ce qui suit se concentrera sur la façon d'utiliser la suppression dans PyCharm

Comment créer une famille avec Gree+ Comment créer une famille avec Gree+ Mar 01, 2024 pm 12:40 PM

De nombreux amis ont exprimé leur souhait de savoir comment créer une famille dans le logiciel Gree+. Voici la méthode de fonctionnement pour vous. Amis qui veulent en savoir plus, venez jeter un œil avec moi. Tout d’abord, ouvrez le logiciel Gree+ sur votre téléphone mobile et connectez-vous. Ensuite, dans la barre d'options en bas de la page, cliquez sur l'option « Mon » à l'extrême droite pour accéder à la page du compte personnel. 2. Après être arrivé sur ma page, il y a une option « Créer une famille » sous « Famille ». Après l'avoir trouvée, cliquez dessus pour entrer. 3. Accédez ensuite à la page pour créer une famille, entrez le nom de famille à définir dans la zone de saisie en fonction des invites, puis cliquez sur le bouton « Enregistrer » dans le coin supérieur droit après l'avoir saisi. 4. Enfin, une invite « enregistrement réussi » apparaîtra au bas de la page, indiquant que la famille a été créée avec succès.

Comment créer un dossier sur Realme Phone ? Comment créer un dossier sur Realme Phone ? Mar 23, 2024 pm 02:30 PM

Titre : Guide du débutant Realme Phone : Comment créer des dossiers sur Realme Phone ? Dans la société actuelle, les téléphones portables sont devenus un outil indispensable dans la vie des gens. En tant que marque de smartphones populaire, RealMobile est appréciée des utilisateurs pour son système d'exploitation simple et pratique. Lors de l'utilisation des téléphones Realme, de nombreuses personnes peuvent être confrontées au besoin d'organiser des fichiers et des applications sur le téléphone, et la création de dossiers est un moyen efficace. Cet article explique comment créer des dossiers sur les téléphones Realme pour aider les utilisateurs à mieux gérer le contenu de leur téléphone. Non.

Comment créer du pixel art dans GIMP Comment créer du pixel art dans GIMP Feb 19, 2024 pm 03:24 PM

Cet article vous intéressera si vous souhaitez utiliser GIMP pour la création de pixel art sous Windows. GIMP est un logiciel d'édition graphique bien connu qui est non seulement gratuit et open source, mais qui aide également les utilisateurs à créer facilement de belles images et de superbes designs. En plus de convenir aussi bien aux concepteurs débutants qu'aux professionnels, GIMP peut également être utilisé pour créer du pixel art, une forme d'art numérique qui utilise les pixels comme seuls éléments de base pour dessiner et créer. Comment créer du pixel art dans GIMP Voici les principales étapes pour créer des images pixel à l'aide de GIMP sur un PC Windows : Téléchargez et installez GIMP, puis lancez l'application. Créez une nouvelle image. Redimensionnez la largeur et la hauteur. Sélectionnez l'outil Crayon. Définissez le type de pinceau sur pixels. installation

Comment créer un diagramme de Gantt à l'aide de Highcharts Comment créer un diagramme de Gantt à l'aide de Highcharts Dec 17, 2023 pm 07:23 PM

Comment utiliser Highcharts pour créer un diagramme de Gantt nécessite des exemples de code spécifiques. Introduction : Le diagramme de Gantt est un formulaire de diagramme couramment utilisé pour afficher la progression du projet et la gestion du temps. Il peut afficher visuellement l'heure de début, l'heure de fin et la progression de la tâche. Highcharts est une puissante bibliothèque de graphiques JavaScript qui fournit des types de graphiques riches et des options de configuration flexibles. Cet article explique comment utiliser Highcharts pour créer un diagramme de Gantt et donne des exemples de code spécifiques. 1. Tableau haut

See all articles