❝이 기사는 시간이 있으면 시도해 볼 수 있습니다.
❞
서문
프로젝트가 필요하다 언어패키지를 작성하는 사람들은 수백년 동안 변하지 않은 데이터와 같지만, 프로젝트를 진행하면서 계속해서 바뀌는 데이터 종류가 있다.
이러한 데이터를 언어 패키지로 작성하는 것은 분명히 부적절하므로 필요를 충족하려면 번역 인터페이스를 사용해야 합니다.
1. 번역 인터페이스에 대한 간략한 소개
먼저 사진을 보시죠! 우리 프로젝트에서 이 번역 인터페이스가 어떻게 사용되는지 살펴보겠습니다.

이 인터페이스에는 총 4개의 매개변수(a, f, t, w)가 있습니다.
이 네 가지 매개변수의 의미는 a가 고정된 값, 즉 fy라는 것입니다.
f는 번역 언어를 의미합니다.
t는 우리에게 필요한 언어로 번역되어야 한다는 뜻입니다.
w는 번역이 필요한 데이터를 의미합니다.
2. 프로젝트 실제 전투
프로젝트 요구 사항은 왼쪽 박스에서 언어를 전환한 후 언어 변경을 따르는 것입니다. 우선 위의 글은 직접 작성한 것이 아니며, html 파일도 존재하지 않는다는 점을 먼저 말씀드리겠습니다. 이는 데이터베이스 주석에 구성됩니다.
아래 그림은 데이터베이스 생성을 보여줍니다. 이렇게 만든 이유와 이렇게 만들면 어떤 이점이 있는지는 팀마다 아이디어가 다르기 때문에 언급하지 않겠습니다.
그럼 메인 주제로 넘어갑니다
이것이 사용된 코드입니다. 인터페이스 주소는 위의 postman의 주소입니다. 나중에 번역해야 할 데이터 부분만 전송하면 됩니다.
본 글에서 구현한 데이터는 위 그림의 왼쪽에 있는 텍스트입니다. 즉, 특정 규칙에 따라 추가하거나 수정할 때 데이터베이스에서 설명을 읽은 후 해당 이름을 직접 열로 사용합니다.
그런 다음 이 설명을 번역 인터페이스 뒷면에 직접 추가하기만 하면 됩니다. 컬 요청을 시작하기 위한 PHP용 코드 제공
<span style="display: block; background: url(https://my-wechat.mdnice.com/point.png); height: 30px; width: 100%; background-size: 40px; background-repeat: no-repeat; background-color: #272822; margin-bottom: -7px; border-radius: 5px; background-position: 10px 10px;"></span><code class="hljs" style="overflow-x: auto; padding: 16px; color: #ddd; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; letter-spacing: 0px; padding-top: 15px; background: #272822; border-radius: 5px;"><span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">public</span> <span class="hljs-function" style="line-height: 26px;"><span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">function</span> <span class="hljs-title" style="color: #a6e22e; font-weight: bold; line-height: 26px;">translateRequest</span><span class="hljs-params" style="line-height: 26px;">($url, $data=array<span class="hljs-params" style="line-height: 26px;">()</span>)</span></span>{<br/><br/> $ch = curl_init();<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//初始化</span><br/> <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//curl_setopt();//设置</span><br/> <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//设置</span><br/> curl_setopt($ch,CURLOPT_URL,$url); <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//需要获取的 URL 地址</span><br/> curl_setopt($ch,CURLOPT_HEADER,<span class="hljs-number" style="line-height: 26px;">0</span>); <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//启用时会将头文件的信息作为数据流输出, 此处禁止输出头信息</span><br/> curl_setopt($ch,CURLOPT_RETURNTRANSFER,<span class="hljs-number" style="line-height: 26px;">1</span>); <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//获取的信息以字符串返回,而不是直接输出</span><br/> curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,<span class="hljs-number" style="line-height: 26px;">30</span>); <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//连接超时时间</span><br/> curl_setopt($ch, CURLOPT_ENCODING, <span class="hljs-string" style="color: #a6e22e; line-height: 26px;">'gzip'</span>);<br/><br/> <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//避免https 的ssl验证</span><br/> curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">false</span>);<br/> curl_setopt($ch, CURLOPT_SSLVERSION, <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">false</span>);<br/> curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">false</span>);<br/><br/> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">if</span>($data){<br/> curl_setopt($ch, CURLOPT_POST, <span class="hljs-number" style="line-height: 26px;">1</span>); <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//post请求</span><br/> curl_setopt($ch, CURLOPT_POSTFIELDS, $data);<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//post参数</span><br/> }<br/><br/> <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//执行</span><br/> $data = curl_exec($ch);<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//执行 不输出 内容返回给它</span><br/> <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//判断是否请求成功</span><br/><br/> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">if</span>(curl_errno($ch)){<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//错误码</span><br/> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">echo</span> <span class="hljs-string" style="color: #a6e22e; line-height: 26px;">'curl error: '</span>.curl_error($ch);<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//错误信息</span><br/> }<br/><br/> $response = curl_getinfo($ch);<br/><br/> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">switch</span>($response[<span class="hljs-string" style="color: #a6e22e; line-height: 26px;">'http_code'</span>]){<br/> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">case</span> <span class="hljs-number" style="line-height: 26px;">200</span>:<br/> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">return</span> $data;<br/> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">break</span>;<br/> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">default</span>:<br/> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">exit</span>(<span class="hljs-string" style="color: #a6e22e; line-height: 26px;">'程序异常'</span>);<br/> }<br/><br/> curl_close($ch);<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//关闭</span><br/> }<br/></code>
테스트 후 효과가 나타나는지 확인하세요. 비공개로 시도해 볼 수도 있습니다! 한 묶음의 데이터를 번역할 때는 속도가 괜찮은데, 여러 개의 데이터를 번역할 때는 속도가 좀 느립니다.
추가된 페이지를 여는 데 3~5초 정도 걸리는데 이는 절대 불가능하므로 이 문제를 해결할 수 있는 방법을 생각해 보아야 합니다.
3. 번역 속도 최적화
두 번째 단계에서 Kaka는 마침내 번역 속도가 약간 느리고 필드가 많을 때 훨씬 더 느리다는 것을 발견했습니다. 그래서 카카는 한 가지 방법을 생각했습니다.
이 데이터는 이전에 하나씩 번역되었으므로 한 번에 모두 번역한 다음 직접 데이터를 조립할 수 있나요?
이 아이디어로 구현을 시작했습니다.
이 코드 줄이 궁극적으로 달성하는 것은 모든 필드 주석을 하나로 묶고 ","로 구분하는 것입니다. 인쇄된 데이터를 보면 out 필드가 실제로 번역된 데이터가 아닙니다. 6개 번역보다 확실히 빨리 번역해야 한다는 생각을 해야 합니다.
그런 다음 이 데이터 세트를 가져와서 배열로 변환하고 원래 데이터로 다시 조립하세요. 여기에 작은 질문이 있습니다. 함께 주목해 보세요. 중국어로 인쇄된 것이 원본 데이터이고, 영어로 인쇄된 것이 가공된 데이터입니다.
반환된 영어 결과가 원본 데이터와 일치하지 않는 것은 명백합니다. 여기서 처리하는 방법도 비교적 간단합니다. 더 나은 해결책이 있으면 주석 영역에서 확인하세요.
처리 방법은 데이터베이스 필드의 중국어 주석을 얻기 전에 해당 인덱스를 $needkey에 저장하는 것입니다. 그런 다음 fanal의 인덱스가 needkey의 v와 같고 해당 값은 결과[k of needkey]

이러한 사용 번역 인터페이스가 완료되고 프로젝트 스크린샷이 표시되지 않습니다. 하!
번역 속도를 높이기 위해 여러 번역을 하나의 번역으로 변경하는 것은 결국 다른 사람에게 무언가를 요청하는 것이므로 스스로 데이터를 재구성하는 것만큼 빠르지는 않습니다.
❝배움에 대한 끈기, 블로그에 대한 끈기, 공유에 대한 끈기는 카카가 경력 이후부터 늘 지켜온 신념입니다. 누오다 인터넷에 올라온 카카의 글이 여러분께 조금이나마 도움이 되기를 바랍니다.
❞
위 내용은 Thinkphp 번역 인터페이스의 사용 및 최적화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사는 ThinkPhp의 내장 테스트 프레임 워크에 대해 논의하여 장치 및 통합 테스트와 같은 주요 기능과 조기 버그 감지 및 개선 된 코드 품질을 통해 응용 프로그램 신뢰성을 향상시키는 방법을 강조합니다.

기사는 실시간 주식 시장 데이터 피드에 ThinkPHP를 사용하여 설정, 데이터 정확도, 최적화 및 보안 측정에 중점을 둡니다.

이 기사는 서버리스 아키텍처에서 ThinkPHP를 사용하기위한 주요 고려 사항에 대해 설명하고 성능 최적화, 무국적 설계 및 보안에 중점을 둡니다. 비용 효율성 및 확장 성과 같은 혜택을 강조하고 도전 과제를 해결합니다.

이 기사에서는 ThinkPHP 마이크로 서비스에서 서비스 검색 및로드 밸런싱 구현, 설정, 모범 사례, 통합 방법 및 권장 도구에 중점을 둡니다. [159 문자]

ThinkPhp의 IOC 컨테이너는 PHP apps.character 수 : 159의 효율적인 종속성 관리를위한 게으른 하중, 맥락 바인딩 및 메소드 주입과 같은 고급 기능을 제공합니다.

이 기사는 ThinkPhp를 사용하여 실시간 협업 도구를 구축하고 설정, WebSocket 통합 및 보안 모범 사례에 중점을 둡니다.

ThinkPhp는 가벼운 디자인, MVC 아키텍처 및 확장 성을 통해 SaaS 앱에 혜택을줍니다. 다양한 기능을 통해 확장 성을 향상시키고 개발 속도를 높이며 보안을 향상시킵니다.

이 기사는 설치, 구성, 작업 관리 및 확장성에 중점을 둔 ThinkPhp 및 RabbitMQ를 사용하여 분산 작업 큐 시스템을 구축합니다. 주요 문제는 고 가용성 보장, 손상과 같은 일반적인 함정을 피하는 것입니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Dreamweaver Mac版
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.
