承接 jiny/html 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jiny/html

Composer 安装命令:

composer require jiny/html

包简介

jiny object html

README 文档

README

jiny/html는 서버사이드 HTML 코드를 객체 지향적으로 생성할 수 있는 Laravel 패키지입니다. 복잡한 HTML 구조를 데이터 기반으로 안전하고 유지보수하기 쉽게 빌드할 수 있습니다.

특징

  • 📦 객체 지향적 HTML 생성: PHP 객체를 통한 type-safe HTML 생성
  • 🎨 풍부한 컴포넌트: 폼, 테이블, SVG 등 다양한 HTML 요소 지원
  • 🔧 Laravel 통합: Laravel Service Provider 및 Blade 컴포넌트 지원
  • 🛡️ 안전한 출력: XSS 방지를 위한 자동 이스케이프 처리
  • 📝 유연한 구조: 메서드 체이닝을 통한 직관적인 API

디렉토리 구조

jiny/html/
├── app/                   # 소스 코드
│   ├── Core/             # 핵심 기본 클래스
│   │   └── CTag.php      # 모든 HTML 요소의 기본 클래스
│   ├── Components/       # 기본 HTML 컴포넌트
│   │   ├── CDiv.php
│   │   ├── CSpan.php
│   │   ├── CButton.php
│   │   └── ...
│   ├── Forms/            # 폼 관련 컴포넌트
│   │   ├── CForm.php
│   │   ├── CInput.php
│   │   └── ...
│   ├── Tables/           # 테이블 관련 컴포넌트
│   │   ├── CTable.php
│   │   ├── CRow.php
│   │   └── ...
│   ├── Widgets/          # 고급 UI 위젯
│   ├── Svg/             # SVG 관련 컴포넌트
│   └── Helpers/         # 헬퍼 함수들
│       ├── helpers.php
│       └── constants.php
├── tests/               # 테스트 코드
│   ├── Unit/
│   └── Feature/
├── docs/                # 문서화
├── JinyHtmlServiceProvider.php  # Laravel 서비스 프로바이더
└── composer.json        # Composer 설정

설치방법

Laravel 프로젝트에서 Composer를 통하여 패키지를 설치합니다:

composer require jiny/html

Laravel의 패키지 자동 발견 기능으로 서비스 프로바이더가 자동 등록됩니다.

기본 사용법

헬퍼 함수 사용

// 헬퍼 함수로 간편하게 사용
$div = CDiv('Hello World')
    ->addClass('container')
    ->setId('main-content');
echo $div; // <div class="container" id="main-content">Hello World</div>

// 버튼 생성
$button = CButton('submit-btn', '전송')
    ->addClass('btn btn-primary');

메서드 체이닝

대부분의 메서드는 체이닝을 지원합니다:

$button = (new CTag('button'))
    ->setAttribute('type', 'submit')
    ->setAttribute('class', 'btn btn-primary')
    ->setBodyContent('전송');

폼 컴포넌트

// 헬퍼 함수 사용
$form = CForm()
    ->setAttribute('method', 'post')
    ->setAttribute('action', '/submit')
    ->addItem([
        CLabel('이메일:', 'email'),
        CEmail()->setAttribute('name', 'email')->setAttribute('required', 'required'),
        CTextBox('username', '', false, 100)->setAttribute('placeholder', '사용자명'),
        CCheckBox('agree', '1')->setLabel('동의합니다'),
        CButton('submit', '전송')->setAttribute('type', 'submit')
    ]);

echo $form;

테이블 컴포넌트

// 헬퍼 함수 사용
$table = CTable()
    ->addClass('table table-striped')
    ->addItem([
        CRow([
            CColHeader('이름'),
            CColHeader('이메일'),
            CColHeader('상태')
        ]),
        CRow([
            CCol('홍길동'),
            CCol('hong@example.com'),
            CCol('활성')->addClass('text-success')
        ])
    ]);

echo $table;

고급 기능

조건부 렌더링

$div = new CDiv();
if ($showContent) {
    $div->setBodyContent('표시할 내용');
} else {
    $div->setBodyContent('기본 내용');
}

동적 속성 설정

$element = new CTag('span');
$attributes = [
    'class' => 'highlight',
    'data-value' => $dynamicValue
];

foreach ($attributes as $key => $value) {
    $element->setAttribute($key, $value);
}

문서

자세한 사용법은 docs 폴더의 문서를 참조하세요:

라이센스

이 패키지는 MIT 라이센스 하에 배포됩니다. 자세한 내용은 license.md를 확인하세요.

기여하기

버그 리포트, 기능 제안, 또는 풀 리퀘스트를 환영합니다. 기여하기 전에 코드 스타일과 테스트를 확인해 주세요.

jiny/html 适用场景与选型建议

jiny/html 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 141 次下载、GitHub Stars 达 1, 最近一次更新时间为 2022 年 08 月 11 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 jiny/html 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 jiny/html 我们能提供哪些服务?
定制开发 / 二次开发

基于 jiny/html 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 141
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 7
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-08-11